gpt4 book ai didi

OpenCV 2.4.3 和 videoInput 到 Mat

转载 作者:太空宇宙 更新时间:2023-11-03 23:02:44 25 4
gpt4 key购买 nike

我正在尝试使用 videoInput 库、OpenCV 2.4.3 和 VS2010 Express 从两个或多个 MSFT LifeCam HD-3000 将视频捕获为 Mat 类型。

我遵循了以下示例:Most efficient way to capture and send images from a webcam in a network效果很好。

现在我想用 C++ Mat 类型替换 IplImage 类型。我试着按照这个例子:opencv create mat from camera data

这给了我以下内容:

    VI = new videoInput;
int CurrentCam = 0;
VI->setupDevice(CurrentCam,WIDTH,HEIGHT);
int width = VI->getWidth(CurrentCam);
int height = VI->getHeight(CurrentCam);
unsigned char* yourBuffer = new unsigned char[VI->getSize(CurrentCam)];
cvNamedWindow("test",1);
while(1)
{
VI->getPixels(CurrentCam, yourBuffer, false, true);
cv::Mat image(width, height, CV_8UC3, yourBuffer, Mat::AUTO_STEP);
imshow("test", image);
if(cvWaitKey(15)==27) break;
}

输出是一个有线条的图像(即,看起来第一行是正确的,但第二行似乎不正确,第三行正确,第四行不正确,等等)。这表明 step 部分是错误的,或者 IplImage 类型和我没有得到的 Mat 类型之间存在一些差异。我尝试查看/更改所有参数,但我找不到任何东西。

希望这个答案能帮助那些面临将图像从 videoInput 库加载到 Mat 类型的问题的人。

提前致谢!

最佳答案

尝试

cv::Mat image(height, width, CV_8UC3, yourBuffer, Mat::AUTO_STEP);

关于OpenCV 2.4.3 和 videoInput 到 Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13264130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com