2016-11-23 141 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