当前位置: 首页 > news >正文

中国装修第一网/企业网站优化服务公司

中国装修第一网,企业网站优化服务公司,简单网站建设方案,服务器放网站前言 本篇文档是在上一篇的基础上实现的,上一篇文档如下 创建qml自定义视频源(Qt5.15.2设备帧)_꧁白杨树下꧂的博客-CSDN博客 笔者尝试使用Qt自身的类获取视频帧,在win10下测试没问题,但鸿蒙平板上测试,总出问题&am…

前言

本篇文档是在上一篇的基础上实现的,上一篇文档如下

创建qml自定义视频源(Qt5.15.2+设备帧)_꧁白杨树下꧂的博客-CSDN博客

笔者尝试使用Qt自身的类获取视频帧,在win10下测试没问题,但鸿蒙平板上测试,总出问题,估计其他android设备应该类似。所以笔者尝试使用openCV的库来实现

一、拉取windows下的视频流

关键代码如下

cv::VideoCapture cap;
cap.open(0);
//cap.open("rtsp://admin:@192.168.18.102:554/stream1");// check if we succeeded
if (!cap.isOpened()) {std::cerr << "ERROR! Unable to open camera\n";return ;
}while(1)
{cv::Mat frame;cap.read(frame);if (frame.empty()) {std::cerr << "ERROR! blank frame grabbed\n";return;}cvtColor(frame, frame, cv::COLOR_RGB2RGBA);const int size = frame.rows * frame.cols * 4;QVideoFrame f(size,QSize(frame.cols, frame.rows), frame.step, QVideoFrame::Format_RGB32);if (f.map(QAbstractVideoBuffer::WriteOnly)) {memcpy(f.bits(), frame.data, size);f.setStartTime(0);f.unmap();emit newFrame(f);}
}

 直接使用openCV获取视频帧,然后转换成RGBA的颜色空间,再包装成QVideoFrame。包装后的视频帧,就可以直接送到视频源中

但要注意,不同的摄像头,通过openCV获取到的视频帧,颜色空间可能不同。笔者使用的摄像头返回的是RGB,读者测试时一定要注意查看

二、拉取android下的视频流

android下获取视频帧,需要重新编译下openCV,笔者测试过openCV4.5.5和openCV4.6.0

​Qt+openCV学习笔记(十四)Qt6.3.0+openCV4.5.5+android_arm64-v8a测试拉取本地摄像头的流_꧁白杨树下꧂的博客-CSDN博客

关键代码如下

cv::VideoCapture cap;
cap.open(0);// check if we succeeded
if (!cap.isOpened()) {std::cerr << "ERROR! Unable to open camera\n";return ;
}while(1)
{cv::Mat frame;cap.read(frame);if (frame.empty()) {std::cerr << "ERROR! blank frame grabbed\n";return;}cvtColor(frame, frame, cv::COLOR_YUV2RGBA_NV12);const int size = frame.rows * frame.cols * 4;QVideoFrame f(size,QSize(frame.cols, frame.rows), frame.step, QVideoFrame::Format_RGB32);if (f.map(QAbstractVideoBuffer::WriteOnly)) {memcpy(f.bits(), frame.data, size);f.setStartTime(0);f.unmap();emit newFrame(f);}
}

代码基本与windows的相同,但注意需要摄像头相关的权限

笔者使用鸿蒙平板测试的,获取的视频帧是yuv格式的。限于条件,笔者无其他测试设备,请该读者自行测试

遇到的问题:

1.笔者使用openCV测试,鸿蒙平板可以正常运行,但win10经常出现无法正常打开,需要更换下摄像头的USB插口

2.android存在旋转的问题

笔者测试使用的源码

后记

笔者测试时发现,鸿蒙平板默认是自动对焦的,获取的视频帧是默认是最低分辨率的

Qt6中的实现,笔者计划在下篇文档中记录

http://www.lbrq.cn/news/1402705.html

相关文章:

  • 江苏省建筑工程网/兰州seo快速优化报价
  • 响应式门户网站/关联词有哪些五年级
  • 做商城网站需要办理什么/国外seo比较好的博客网站
  • 小兵cms个人网站模板/seo发包软件
  • 37岁转行做外贸真的很难吗/seo优化专员工作内容
  • 网站/陕西网站建设制作
  • 个人网页制作免费下载/河南网站建设优化技术
  • 正能量网站入口免费安全/营销网站优化推广
  • 做快递网站制作/如何推广网址链接
  • 衍艺武汉网站设计公司/百度推广员工工资怎么样
  • 做宣传册参考的网站/陕西省人民政府
  • 东海建设局网站/丈哥seo博客
  • 十堰哪里有做网站的/广州:推动优化防控措施落地
  • 商业网站网页/品牌广告视频
  • 哈尔滨市建设厅网站/百度百度一下你就知道主页
  • 蒲县网站建设/360公司官网首页
  • 网站开发工程师职位要求/百度seo推广计划类型包含
  • 网站建设工作 方案/关键词排名网络推广
  • 盘锦公司做网站/廊坊百度快照优化
  • 网站开发周期价格/网站搜索排名靠前
  • 域名不变 新网站/网络推广招聘
  • 北京互联网网站建设/站优云网络公司
  • wordpress flashfxp/福州短视频seo获客
  • 免费咨询聊天/seo站点是什么意思
  • 网站做哪些主题比较容易做/免费域名申请的方法
  • 做户外的网站/制作网站的软件叫什么
  • 创新的南昌网站制作/网站seo外包
  • 好的做详情页的网站有哪些/手机版谷歌浏览器入口
  • 网站开发神器/google安卓版下载
  • 界面设计做的好的网站/外贸网站平台哪个好
  • 计算机视觉(二)------OpenCV图像视频操作进阶:从原理到实战
  • 告别手写文档!Spring Boot API 文档终极解决方案:SpringDoc OpenAPI
  • 第4章 React状态管理基础
  • 决策树算法学习笔记
  • 力扣 hot100 Day77
  • 静配中心配药智能化:基于高并发架构的Go语言实现