安装对opencv python包的gstreamer支持
我已经从源代码构建了自己的opencv python包安装对opencv python包的gstreamer支持,python,python-3.x,opencv,gstreamer,Python,Python 3.x,Opencv,Gstreamer,我已经从源代码构建了自己的opencv python包 import cv2 print(cv2.__version__) 印刷品:3.4.5 现在我面临的问题是如何使用opencv的VideoCapture类中的gstreamer。我试图让这个最小的工作示例在python3上运行 cap = cv2.VideoCapture("videotestsrc ! appsink") if not cap.isOpened(): print("Cannot capture test src
import cv2
print(cv2.__version__)
印刷品:3.4.5
现在我面临的问题是如何使用opencv的VideoCapture类中的gstreamer。我试图让这个最小的工作示例在python3上运行
cap = cv2.VideoCapture("videotestsrc ! appsink")
if not cap.isOpened():
print("Cannot capture test src. Exiting.")
quit()
while True:
ret, frame = cap.read()
if ret == False:
break
cv2.imshow("CVtest",frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
捕获失败,生成上面的打印内容(请参见if
语句)。我检查:
import cv2
print(cv2.getBuildInformation())
印刷品:
Video I/O:
DC1394: NO
FFMPEG: NO
avcodec: NO
avformat: NO
avutil: NO
swscale: NO
avresample: NO
GStreamer: NO
libv4l/libv4l2: NO
v4l/v4l2: linux/videodev2.h
看到这一点,我的gstreamer管道无法正常工作是完全有道理的。在制作OpenCV的过程中,我确保WITH_GSTREAMER已设置为ON(它已经设置为ON)。问题仍然存在。我甚至还试着将“0”和“10”设置为“开”。从cv2 python模块启用gstreamer仍然不走运
在任何人建议使用pip3安装cv2之前。我也试过了。从pip获取包的问题是,它根本不允许您配置gstreamer支持
有人能在这里提供帮助吗?我能够解决这个问题,得到了一些专家的帮助。查看cmake输出提示,可以发现问题:
-- Checking for module 'gstreamer-base-0.10'
-- No package 'gstreamer-base-0.10' found
-- Checking for module 'gstreamer-video-0.10'
-- No package 'gstreamer-video-0.10' found
-- Checking for module 'gstreamer-app-0.10'
-- No package 'gstreamer-app-0.10' found
-- Checking for module 'gstreamer-riff-0.10'
-- No package 'gstreamer-riff-0.10' found
-- Checking for module 'gstreamer-pbutils-0.10'
-- No package 'gstreamer-pbutils-0.10' found
在ccmake期间,我将\u GSTREAMER和\u GSTREAMER\u 0\u 10都设置为ON。似乎cmake更喜欢gstreamer0.10标志而不是gstreamer1.0标志。由于我只安装了gstreamer1.0,opencv完全无法设置gstreamer依赖项
我确保对所有以前部署的二进制文件进行了检查:
cd <opencv-src>/build
sudo make uninstall
当我
import cv2
print(cv2.getBuildInformation())
我的控制台现在输出
Video I/O:
DC1394: NO
FFMPEG: NO
avcodec: NO
avformat: NO
avutil: NO
swscale: NO
avresample: NO
GStreamer:
base: YES (ver 1.8.3)
video: YES (ver 1.8.3)
app: YES (ver 1.8.3)
riff: YES (ver 1.8.3)
pbutils: YES (ver 1.8.3)
libv4l/libv4l2: NO
v4l/v4l2: linux/videodev2.h
底线是,如果您确实想要gstreamer1.0,请不要在cmake期间将_GSTREAMER_0_10设置为ON。在这种情况下,您必须仅为那些在Windows上遇到相同问题的用户设置\u GSTREAMER ON。。。我必须设置以下CMake选项:
我的OpenCV版本:3.4.3安装包
libgstreamer1.0-dev
和libgstreamer-plugins-base1.0-dev
帮助我解决了这个问题
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
如何在opencv python版本4.1.2中安装DC1394?没有CAP_DC1394,我无法为我的IP摄像头设置缓冲区大小。
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev