这里真的很烦人。在Linux Mint OS上。每隔一段时间,我就会在运行OpenCV代码时遇到此错误:
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/ravi/Desktop/opencv/OpenCV-2.1.0/src/highgui/window.cpp, line 180
terminate called after throwing an instance of 'cv::Exception'
what(): /home/ravi/Desktop/opencv/OpenCV-2.1.0/src/highgui/window.cpp:180: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow
解决这个问题的方法,我发现,要做到以下几点:
cd OpenCV/
cd build/
cmake ..
make
sudo make install
sudo ldconfig
<restart computer>
然后我会回来,再次开始运行我的OpenCV代码,它会没事的。但是几个小时之后,或者可能在开启/关闭cpu之间,我将回到同样的愚蠢错误!
有谁知道这里发生了什么以及如何防止这种情况发生?地狱令人沮丧。
答案 0 :(得分:1)
这听起来像程序代码中的一般严重错误。发生错误时是否有特定任务?您可能希望在运行时使用strace获取程序的输出,或者为正在运行该进程的用户启用应用程序内存转储。这将传递给开发人员进行调试和检查。
答案 1 :(得分:0)
我相信问题是通过关注我的USB相机实际位于/ dev /中的位置来解决的。给get视频源函数提供错误的路径会导致这种类型的错误;重新启动我的计算机偶尔会移动我的设备附加的/ dev / video#。
请ls /dev/vid*
查看您是否使用了正确的视频来源!