c++ - 使用 OpenCV 2.4.1 显示视频

标签 c++ opencv

您好,我尝试使用以下基本命令使用网络摄像头显示视频 在 opencv 2.4.1 中:-

int main()

{ cv::Mat san;

  cv::VideoCapture san_cap(0);

  while(1)
  {
    san_cap.read(san);

    cv::imshow("gp",san);

    if(cv::waitKey(0) >=0)

      break;
  }

   return 1;

  }

在编译过程中我没有收到任何错误,但是在运行我的解决方案时我的输出视频卡在固定帧上并且在我的控制台中出现以下错误:-

VIDIOC_QUERYMENU:参数无效

逐行调试我的代码,我发现我在这一行出错

if(cv::waitKey(0) >= 0)

这行可能有什么错误???

最佳答案

我不知道你想用 cv::waitKey() 做什么,但我认为如果你把它改成这个,你的例子应该可以工作。如前所述,waitKey 应设置为 10 之类的值,并且您应始终检查 videoCapture 是否实际打开。如果无法打开,则说明您的硬件/驱动程序/操作系统/OpenCV 安装有问题。

int main() {

    int waitKeyValue = 10;
    cv::Mat san;

    cv::VideoCapture san_cap(0);
    if (san_cap.isOpened()) {
        while (1) {
            san_cap.read(san);
            cv::imshow("gp", san);
            int key = cv::waitKey(waitKeyValue);
            if(key!=-1)cout<<key<<endl;
            if (key == 27 || key == 1048586) {
                if (waitKeyValue == 10)waitKeyValue = 0;
                else waitKeyValue = 10;
            }
        }
    } else cout << "videoCapture not working" << endl;
    return 1;

}

关于c++ - 使用 OpenCV 2.4.1 显示视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11528111/

相关文章:

c++ - 将 Cocos2d-x v2.2.5 集成到果酱中

c++ - 找出两张图片之间的差异

java - `opencv.android.JavaCameraView` 和 `opencv.android.NativeCameraView` 有什么区别

c++ - 在 C++ : flow error 中 Qt 下的 Gstreamer 问题

python - 为特定版本的 Python 编译 Python 模块

c++ - 如何从 C++ 中的 vector 容器中打印类指针?

C++:如何找出 v 表的布局/地址?

c++ - OpenCV错误使用逆

c++ - 错误 : invalid initialization of non-const reference of type. ..来自临时类型

c++ - 关于使用#define 有条件地排除主函数时的 C++ 预处理器