- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写一个需要使用 opencv 从网络摄像头捕获的程序。我使用的是罗技 C260 摄像头和 OpenCV2.2、Windows XP、QT Creator。这是我的代码示例:
int i = 0;
int arg = 0;
CvCapture *pCapturedImage = cvCaptureFromCAM(arg);
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
IplImage* img1= cvQueryFrame(pCapturedImage);
IplImage* img2;
IplImage* merged;
int MAX_FRAMES = 10;
for (int i = 0; i < MAX_FRAMES; i++){
pCapturedImage = cvCaptureFromCAM(arg);
if (!pCapturedImage){
printf("Uh oh");
}
img1 = cvQueryFrame(pCapturedImage);
printf("Query");
cvShowImage( "Example1", img1 );
cvWaitKey(0);
}
for (int i = 0; i < MAX_FRAMES; i++){
printf("Enter");
img2 = img1;
pCapturedImage = cvCaptureFromCAM(arg);
if (!pCapturedImage){
printf("Uh oh");
}else
printf("Capture");
img1 = cvQueryFrame(pCapturedImage);
printf("Query");
cvShowImage( "Example1", img1 );
cvWaitKey(0);
img1 = mergePhotos(img2, img1, i*25, i*25);
printf("Merge");
cvShowImage( "Example1", img1 );
cvWaitKey(0);
虽然它不起作用。我只得到前 10 次捕获的 a ,然后捕获变为空(我会发布图片,但我不允许这样做)。
我被难住了。我试过 cvCaptureFromCAM 和 cvCreateCameraCapture。我试过将 args 更改为该函数。我已经尝试了所有 USB 端口。
有人知道问题出在哪里吗?我非常感谢所有帮助。
最佳答案
您只需在循环外调用一次 cvCaptureFromCAM(或 cvCreateCameraCapture)来初始化和打开相机。然后你可以通过每次简单地调用 cvQueryFrame 来获得新的帧。 (将 cvCapture 视为帧源,而不是帧本身。)
可能存在一些操作系统限制,您不能多次打开相机资源...这可能是您描述的“仅 10 帧”的解释。
关于c++ - OpenCV2.2 cvCaptureFromCAM 问题...只返回绿屏。 (罗技 C260 摄像头),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5177404/
通过使用 BufferedImage 对象调用 getRGB(int x, int y),可以获得一个负数。 如何将三个不同的值(红色、绿色和蓝色)转换为这个单一的负数? 最佳答案 使用颜色类: ne
我正在尝试在以下之间创建渐变颜色: White (light to dark) Brown (dark to light Green (dark to ligh) 但我不知道如何实现。 我的尝试很糟糕
在我的 Cloudformation 模板中,我使用蓝绿部署触发器并具有以下任务定义 TaskDefinition: Type: AWS::ECS::TaskDefinition Depend
我似乎无法弄清楚我做错了什么。这是课本上的练习: “在 Java 库中,颜色由 0 到 255 之间的红色、绿色和蓝色分量指定(请参见第 68 页的表 4)。编写一个程序 BrighterDemo,用
我计划从网页中提取(本质上是在获得许可的情况下抓取)一些数据并将其存储在 elasticsearch 中(你知道,用于搜索)。 虽然我有权从网站上抓取数据, 此数据没有 API 或其他结构化来源 它是
我得到了一个本质上是图像的数据集,但是图像中的每个像素都表示为从 -1 到 1 的值。我正在编写一个应用程序,它需要将这些 -1 到 1 灰度值映射到 MATLAB“Jet”色标(红-绿-蓝颜色渐变)
如何在 BufferedImage 中隔离红/绿/蓝 channel :我有以下代码不起作用:` public static BufferedImage isolateChannel(Buffered
背景(可选) 我目前正在从事我们公司从以前的承包商那里得到的一个项目,它在测试覆盖率方面处于非常糟糕的状态——几乎没有测试,代码库非常复杂和脆弱,所以任何小的改变很可能以最复杂和令人惊讶的方式打破一切
我是一名优秀的程序员,十分优秀!