网站开发毕设文献,wordpress怎么添加子栏目,哪家做公司网站,宁波建设网网点先感谢香橙派群的管理员耐心指导#xff0c;经过不断的调试修改最后成功通过opencv调用mipi摄像头获取画面 就记录分享一下大概步骤希望大家少踩点坑#xff01;#xff01;#xff01;#xff01;#xff01;#xff01; 我用的固件系统是ubuntu2022.0.4 固件是#x…先感谢香橙派群的管理员耐心指导经过不断的调试修改最后成功通过opencv调用mipi摄像头获取画面 就记录分享一下大概步骤希望大家少踩点坑 我用的固件系统是ubuntu2022.0.4 固件是 Orangepi5_1.1.6_ubuntu_jammy_desktop_gnome_linux5 .10.110.img 想通过opencv获取画面得先安装opencv,注意安装的时候先安装opnecv需要的相关环境不然可能会安装到一半就报错百度也可以找到安装教程如果实在不会安装貌似这个系统里面也有一个默认的openncv,4.5.0版本的在终端输入这个 **pkg-config --modversion opencv4 ** 能看见版本。 如果你也是用qt获取摄像头画面 先在pro文件里面导入opencv相关的lib库文件和头文件 INCLUDEPATH引入的路径因自己的opencv头文件路径而定这里注意引入路径到opecv4就可以了如果到opecv4/opecnv2使用的时候可能会出现相关的头文件找不到 LIBS里面对应的库文件我理解是对应usr/lib里面的相关so库文件 下面的代码就可以实现图像的获取只需要把方法里面的代码复制到你的方法里面就行
void ShowImage::run()
{VideoCapture cat(v4l2src device/dev/video51 io-mode4 ! video/x-raw,formatNV12,width720,height576,framerate15/1 ! appsink ,CAP_GSTREAMER);if(!cat.isOpened()){qDebug()无法打开摄像头节点;}Mat fram;Mat mat;while (true) {cat.read(fram);if(fram.empty()){qDebug()没有数据;break;}cvtColor(fram,mat,cv::COLOR_YUV2RGB_NV12);//如果不转换QImage取不到数据QImage img QImage(mat.data,mat.cols,mat.rows,mat.step,QImage::Format_RGB888);}qDebug()摄像头打开成功;
}如果你遇到以下警告那很有可能是你的VideoCapture cat(参数这个里面参数有问题这个里面的参数数据是来自于usr/local/bin/test_carema.sh 这个执行文件的内容进行修改的不能全部复制
(qt_demo2:17300): GLib-GObject-WARNING **: 16:04:49.922: invalid cast from GstAppSink to GstBin(qt_demo2:17300): GStreamer-CRITICAL **: 16:04:49.923: gst_bin_iterate_elements: assertion GST_IS_BIN (bin) failed(qt_demo2:17300): GStreamer-CRITICAL **: 16:04:49.924: gst_iterator_next: assertion it ! NULL failed(qt_demo2:17300): GStreamer-CRITICAL **: 16:04:49.924: gst_iterator_free: assertion it ! NULL failed
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (963) open OpenCV | GStreamer warning: cannot find appsink in manual pipeline
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (616) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created截图留念