簡體   English   中英

OpenCV:cvtColor函數在Raspberry Pi上導致錯誤

[英]OpenCV: cvtColor function cause error on Raspberry Pi

我在Windows上使用Visual Studio和Ubuntu VM(使用CMake)在筆記本電腦上運行OpenCV代碼 該代碼在兩者上都可以正常工作,但是當我嘗試在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

我已經看到一些建議來嘗試檢查框架是否為空,但是鑒於該框架未運行,我不確定如何在此代碼中執行該操作。

我也嘗試過更改來自camera.open(0);的輸入camera.open(0); camera.open("someMovieInFolder.mp4"); 但是問題仍然存在。

看起來確實好像圖像是空的。 圖像捕獲功能返回一個布爾值 ,可以檢查該布爾值以查看捕獲是否成功完成並返回有效圖像。 您也可以嘗試打印或裁剪圖像的寬度/高度。 它應該不為零。

好,我知道了。 確實,問題在於圖像為空,這就是導致運行時錯誤的原因。 原因是Pi相機 不幸的是,此功能不適用於Pi攝像頭(或至少需要一些調整),因此插入USB攝像頭后,它們都可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM