- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 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/
我需要使用修改后的 videoInput 库,它具有以下功能deviceSetupWithSubtype()(不是原来的videoInput库) 我在本页末尾的rar中得到了.h和.cpp: http
我正在尝试编写录制软件,将计算机中的视频流写入 avi 文件。我正在使用 OpenCV 和随附的 videoInput.h 来处理 directshow 代码。为了以防万一,我使用 Visual St
我有一个 Creative Sync HD,我看到 OpenCV 不支持高于 640x480 的分辨率。我找到了一个解决方案 - videoinput.lib,但我不知道如何使用它。我只是为 VC 2
我正在从事实时制作高动态范围视频的项目。目标是使用 3 个现成的网络摄像头 (Microsoft LiveCam Studio) 来完成。我开始尝试使用 OpenCV,但我很难让它打开相机。所以我直接
我正在使用 videoInput与 DirectShow 交互并从我的网络摄像头获取像素数据。 来自 another question I've asked ,有人建议像素格式只是按照Y、U、V ch
我正在尝试使用 videoInput 库、OpenCV 2.4.3 和 VS2010 Express 从两个或多个 MSFT LifeCam HD-3000 将视频捕获为 Mat 类型。 我遵循了以下
我是一名优秀的程序员,十分优秀!