2016-11-23 150 views
0

我正在研究Udoo,試圖讓相機拍攝一張我可以在Python中操作的圖片。Python與Gstreamer管道

到目前爲止,相機

gst-launch-1.0 imxv4l2videosrc ! imxipuvideosink

工作我也可以採取單一的圖片與

gst-launch-1.0 imxv4l2videosrc num-buffers=1 ! video/x-raw ! jpegenc ! filesink location=output.jpg

here好像你可以從GStreamer的流直讀在Python中與OpenCV。

這裏是我的Python代碼:

import cv2 
cam = cv2.VideoCapture("imxv4l2videosrc ! video/x-raw ! appsink") 
ret, image = cam.read() 

然而,RET是False和圖像是什麼。

有些地方說這隻適用於OpenCV 3.0+,其他人說2.4.x,但我似乎無法找到它的工作版本的實際答案。

如果我需要更新到OpenCV 3.0,哪一部分更新?我通過軟件包python-opencv下的apt版本庫下載了OpenCV。那麼我需要更新Python嗎?我可以從源代碼構建OpenCV嗎?Python會自動使用最新版本?我很困惑。

+0

可能不會有更糟糕的時間發佈一個問題。 – justynnuff

回答

1

Ubuntu/Debian版本是舊版本2.4.x,以便獲取需要從源代碼編譯的最後一個版本。

這兩個教程就如何做到這一點:

  1. https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_setup/py_setup_in_fedora/py_setup_in_fedora.html#installing-opencv-from-source
  2. http://www.pyimagesearch.com/2015/07/20/install-opencv-3-0-and-python-3-4-on-ubuntu/

首先是Python 2.7Fedora,第二次爲Python 3.4Ubuntu

+1

我交叉引用了你的鏈接,並在Udoo Dual上運行Python 2.7並獲得了OpenCV。如果有人通過搜索來到這裏,我發佈在Udoo論壇上:http://www.udoo.org/forum/threads/using-udoo-camera-with-opencvs-videocapture-class-2-0.6130/#post -23716 – justynnuff