探索解決關於樹莓派打開攝像頭錯誤:V4L2: Pixel format of incoming image is unsupported by OpenCV以及(接下文)..

(接標題)libv4l2: error setting pixformat: Device or resource busy的錯誤;

----------------------------------------------------------------------------------分割線----------------------------------------------------------------------------------------
最近用樹莓派做點小項目,用Python跑OpenCV調用攝像頭時常常出現一個錯誤:

V4L2: Pixel format of incoming image is unsupported by OpenCV

以及

libv4l2: error setting pixformat: Device or resource busy

的錯誤,可把我煩的不要不要的,潛下心來仔細思考了一下,感覺是我兩次調用攝像頭的時間太過於迅速,上一次調用的攝像頭還沒有release掉,就又開始了下一次的調用。(因爲存在多重循環體的原因,循環體代碼又相互獨立,於是存在攝像頭多次調用)。想着在release之後來個小延時,卻有時候還是會出現相同的問題…難度做研究還是看人品的???這可不能算科學哎、

思考了許久,發現這個錯誤主要是由於以下兩個原因造成的:

一、便是由於攝像頭重複調用了,檢查程序是否沒有release或者stop掉攝像頭,卻又開始了下一次的調用。

二、是因爲1.compat.so沒有加載,解決途徑如下:

1.執行以下命令,來確認1.compat.so所在路徑

$ find /usr/lib -name v4l1compat.so

在這裏插入圖片描述

2.載入以上路徑下的1.compat.so文件,根據所得到的路徑輸入以下命令:

$ export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libv4l/v4l1compat.so

在這裏插入圖片描述
完成之後,再運行之前的出錯的程序即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章