HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP錯誤解決方法


在樹莓派上運行在windows上正確的程序,  報錯:

HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /home/pi/Documents/opencv-2.4.13/modules/highgui/src/window.cpp, line 261
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/pi/Documents/opencv-2.4.13/modules/highgui/src/window.cpp:261: error: (-215) size.width>0 && size.height>0 in function imshow

Aborted

解決方法:

 方法一: 安裝v4l2ucp, v4l-utils 和 libv4l-dev.    對我來說沒用。

 方法二: 在視頻imshow圖像前,增加判斷語句      

        while(true){
             capture >>Image;
         if(!Image.empty()){
        imshow("Test",Image);
        imwrite("test.jpg",Image);
         }
             
             if(waitKey(10) >= 0)break;
        }

然后,  只報錯第一行,  但是程序可以正常運行。

之后,有出現了這個問題,仔細查閱,發現原因為

val/v4l2等必要的依賴庫安裝在opencv之后,opencv庫編譯時沒有編譯進去

因此,應在安裝了依賴庫后,重新安裝opencv,重新cmake、make、makeinstall等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM