【问题标题】:OpenCV: cvtColor function cause error on Raspberry PiOpenCV:cvtColor 函数在 Raspberry Pi 上导致错误
【发布时间】:2015-04-05 21:46:56
【问题描述】:

我在我的笔记本电脑上使用 Visual Studio 和 Ubuntu VM(使用 CMake)在 Windows 上运行 OpenCV code。该代码在两者上都运行良好,但是当我尝试在我的 Raspberry Pi 2B 上运行它时,函数 cvtColor()(第 205 行)会导致以下错误:

pi@raspberrypi ~/Desktop/Track1 $ ./TrackObj 
init done 
opengl support available 
OpenCV Error: Assertion failed ((scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F)) in cvtColor, file /home/pi/opencv-2.4.10/modules/imgproc/src/color.cpp, line 3961
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/pi/opencv-2.4.10/modules/imgproc/src/color.cpp:3961: error: (-215) (scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F) in function cvtColor

Aborted

我看到了尝试检查框架是否为空的建议,但我不确定如何在 this code 中执行此操作,因为它没有运行。

我也尝试将输入从camera.open(0); 更改为camera.open("someMovieInFolder.mp4");,但问题仍然存在。

【问题讨论】:

    标签: c++ opencv raspberry-pi raspberry-pi2


    【解决方案1】:

    它看起来确实好像图像是空的。可以检查图像捕获函数returns a boolean value,以查看捕获是否成功完成并返回有效图像。您也可以尝试 printf 或 cout 图像的宽度/高度。它应该是非零的。

    【讨论】:

      【解决方案2】:

      好的,我明白了。实际上,问题在于图像为空,这就是导致运行时错误的原因。 原因是 Pi 相机。不幸的是,此功能不适用于 Pi cam(或至少需要进行一些调整),因此在插入 USB 摄像头后,它一切正常。

      【讨论】:

      • 我通过安装可用的 V4L 驱动程序来工作 here
      猜你喜欢
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多