【OpenCV+OPENVINO使用】系列汇总

杂谈

边缘计算是做机器人的刚需,想要跑深度学习网络还不能使用GPU,想要高性能还要求低功耗,真的太难了。思来想去,就指望Intel的神经计算棒来江湖救急了。零零碎碎折腾了几天,总算把自己的网络搭在了神经计算棒上。神经计算棒NCS2的计算效率大概是i7 10代笔记本CPU的90%,因此用惯了GPU的各位大佬也不要对神经计算棒太期待(我反正是看开了),毕竟是主打低功耗的,不能要求太多。

考虑到这段时间的工作不能白瞎了,因此就简单的梳理下相关内容,整理出了一个小系列。大部分都是参考他人文章进行总结,在此感谢无私分享的各位大佬。由于本人研究这块时间不长,水平也有限,因此难免会有遗漏和不足,还请各位看官见谅。

(目前还没有看到使用多块计算棒进行分布式推理的,这个可以期待一下。)

系列博客目录

【OpenCV+OPENVINO使用】openvino安装教程

【OpenCV+OPENVINO使用】模型转换

【OpenCV+OPENVINO使用】opencv+openvino 使用自己的模型推理实战(基于C++)

【OpenCV+OPENVINO使用】OPENCV-VINO4.5.1 + OPENCV contrib安装

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Opencv提供了支持Gstreamer的模块,可以使用Gstreamer在Opencv中进行视频流处理。使用Gstreamer需要安装Gstreamer以及相关插件,然后在编译Opencv时加入相应的参数,具体方法如下: 1.安装Gstreamer及插件 在Linux系统中可以使用以下命令安装: ``` sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav ``` 2.编译安装Opencv 在编译Opencv时加入Gstreamer支持,需要在cmake命令中加入以下参数: ``` -D WITH_GSTREAMER=ON -D BUILD_opencv_videoio=ON ``` 其中,`WITH_GSTREAMER`参数表示开启Gstreamer支持,`BUILD_opencv_videoio`参数表示编译Opencv的视频模块。完整的cmake命令如下: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=OFF \ -D WITH_CUFFT=OFF \ -D WITH_GSTREAMER=ON \ -D BUILD_opencv_videoio=ON \ -D BUILD_opencv_imgcodecs=ON \ -D BUILD_opencv_highgui=ON \ -D BUILD_EXAMPLES=ON \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=/home/user/opencv_contrib-master/modules \ -D CUDA_ARCH_PTX="" \ -D CUDA_ARCH_BIN="" \ -D BUILD_SHARED_LIBS=ON \ -D WITH_FFMPEG=ON \ -D WITH_TBB=ON \ -D WITH_OPENMP=ON \ -D ENABLE_FAST_MATH=ON \ -D CUDA_FAST_MATH=OFF \ -D WITH_OPENCL=OFF \ -D WITH_IPP=ON \ -D WITH_MKL=ON \ -D WITH_V4L=ON \ -D WITH_XINE=ON \ -D ENABLE_PRECOMPILED_HEADERS=OFF \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_TESTS=OFF \ -D INSTALL_OPENCV=ON \ -D OPENCV_PYTHON3_INSTALL_PATH=/usr/local/lib/python3.7/dist-packages \ -D OPENCV_GENERATE_PKGCONFIG=ON \ ../opencv-master ``` 3.使用Opencv和Gstreamer处理视频流 使用Opencv和Gstreamer处理视频流的方法与常规的Opencv视频流处理基本一致,只需要指定使用Gstreamer的视频捕获设备即可。例如,以下代码使用Gstreamer捕获从摄像头中获取的视频流并显示在窗口中: ```python import cv2 cap = cv2.VideoCapture("v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! videoconvert ! appsink", cv2.CAP_GSTREAMER) while True: ret, frame = cap.read() if not ret: break cv2.imshow("video", frame) if cv2.waitKey(10) == 27: break cap.release() cv2.destroyAllWindows() ``` 以上代码中,`v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! videoconvert ! appsink`指定使用Gstreamer捕获视频流,并设置捕获的设备为`/dev/video0`,视频流的宽和高分别为`640`和`480`。`videoconvert`表示进行视频流格式转换,`appsink`表示将视频流发送给Opencv进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值