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

中药材网站开发百度智能小程序入口官网

中药材网站开发,百度智能小程序入口官网,seo研究中心超逸seo,时代空间网站一、前言 上篇文章介绍了如何调用大恒SDK获得回调图片#xff0c;这篇介绍如何使用这些图片并刷新到界面上。考虑到相机的帧率很高#xff0c;比如200fps是很高的回调频率。那么我们的刷新频率是做不到这么快#xff0c;也没必要这么快。一般刷新在60帧左右就够了。 二、思路…一、前言 上篇文章介绍了如何调用大恒SDK获得回调图片这篇介绍如何使用这些图片并刷新到界面上。考虑到相机的帧率很高比如200fps是很高的回调频率。那么我们的刷新频率是做不到这么快也没必要这么快。一般刷新在60帧左右就够了。 二、思路 1回调函数采用Qqueue队列的方式储存图片 2主函数设置定时器QTimer间隔20ms从队列拿去到一张图片刷新到界面上去注意利用异步的方式执行耗时的操作在完成格式转化后再传给UI现场刷新界面否则会造成界面卡顿。 3注意对队列使用QMutex,避免资源冲突。 三、部分代码 ① 回调函数将相机的原始数据转换为cv::Mat并调用writeImageQueue(capturedImg)存入队列。因为队列是先入先出所以队列超过4后需要先出队然后再入队保证图片更新最近的几张。 void Class_CaptureEventHandler::DoOnImageCaptured(CImageDataPointer objImageDataPointer, void* pUserParam) {if (GX_FRAME_STATUS_SUCCESS objImageDataPointer-GetStatus()){//图像获取为完整帧可以读取图像宽、高、数据格式等uint64_t ui64Width objImageDataPointer-GetWidth();uint64_t ui64Height objImageDataPointer-GetHeight();GX_PIXEL_FORMAT_ENTRY emPixelFormat objImageDataPointer-GetPixelFormat();uchar* pbit (uchar*)objImageDataPointer-GetBuffer();void* pRGB24Buffer NULL;cv::Mat capturedImg;//原始数据是 Mono8 图像if (objImageDataPointer-GetPixelFormat() GX_PIXEL_FORMAT_MONO8){pRGB24Buffer objImageDataPointer-ConvertToRaw8(GX_BIT_0_7);capturedImg cv::Mat::zeros(cv::Size(ui64Width, ui64Height), CV_8UC1);memcpy(capturedImg.data, pRGB24Buffer, ui64Width * ui64Height);}if (objImageDataPointer-GetPixelFormat() GX_PIXEL_FORMAT_MONO10){pRGB24Buffer objImageDataPointer-ConvertToRGB24(GX_BIT_2_9, GX_RAW2RGB_NEIGHBOUR, true);capturedImg cv::Mat::zeros(cv::Size(ui64Width, ui64Height), CV_8UC3);memcpy(capturedImg.data, pRGB24Buffer, ui64Width * ui64Height * 3);}writeImageQueue(capturedImg);} }void Class_CaptureEventHandler::writeImageQueue(cv::Mat mat_Image) {mutex.lock();if (CameraImage_queue.count() 4){CameraImage_queue.dequeue();}CameraImage_queue.enqueue(mat_Image);mutex.unlock(); } ② 主函数设置定时器QTimer间隔20ms从队列拿去到一张图片刷新到界面上去QFutureWatcher和QFuture组合利用可以完成异步处理长耗时的图片处理然后将处理好的图片刷新到界面上避免界面卡顿。 void CameraConfig::do_timeForUpdateView() {QFutureWatcherQImage* watcher new QFutureWatcherQImage(this);connect(watcher, QFutureWatcherQImage::finished, this, [this, watcher]() {QImage result watcher-result(); // 获取结果if (!result.isNull()){graphicsView_Camera-displayImage(result);}watcher-deleteLater(); // 清理 watcher});QFutureQImage future QtConcurrent::run([this]()-QImage {cv::Mat tempMat dynamic_castClass_CaptureEventHandler*(pCaptureEventHandler)-readImageQueue();QImage Image;if (!tempMat.empty()){ImageMat2QImage(tempMat);}return Image;});watcher-setFuture(future); } ③ 从队列中拿去可用的图片可以使用tryLock方式如果10ms内没能拿到就不等了 cv::Mat Class_CaptureEventHandler::readImageQueue() {cv::Mat readImage;if(mutex.tryLock(10)){if (CameraImage_queue.count() 0){readImage CameraImage_queue.dequeue();} mutex.unlock();}return readImage; } 四、效果展示 相机未安装镜头故采集的图片只有亮暗变化
http://www.hkea.cn/news/14397906/

相关文章:

  • 做防水怎么注册网站网络科技公司企业简介
  • 服装网站的建设方案洛阳 网站建设
  • 沙漠风网站建设6郑州知名网站建设服务公司
  • 虚拟主机怎么做网站下载织梦做网站软件
  • 高校校园网站建设项目的要求企业营销型网站seo推广
  • 达州市做网站网站备案信息代码
  • 南京建设交易中心网站好的在线crm系统
  • 无锡网站建设详细内容网络服务器配置与管理考试题
  • WordPress软件连接不了网站云南网站建设哪家公司好
  • 企业网站一般做哪些栏目建筑公司查询
  • 查找网站建设虚拟目录佛山网页搜索排名提升
  • 专业网站开发费用vs 2008 手机网站开发
  • 建设部网站职业资格证查询建设学院网站
  • 哈尔滨队网站网页美工小程序登录后台
  • 烟台制作网站做外贸方面的网站
  • 婚纱摄影团购网站模板中国互联网站建设中心
  • 做网站找投资人开网店需要多少钱?
  • 做网站排名步骤招聘小程序怎么制作
  • 做网站做什么赚钱静态网站做毕业设计
  • 贵阳网站建设是什么个人养老保险一年交多少钱
  • 负责网站开发的岗位手机网站大全观看
  • 黄浦品牌网站建设温州做网站建设哪家好
  • 长寿网站制作营销传播方式有哪些
  • 网站建设报告书快照网站
  • 免备案网站空间购买百度信息流是什么
  • html静态页面怎么放在网站上如何选网站空间
  • 兰州北山生态建设局网站网站修改图片怎么做
  • 南通网络公司网站值得关注的网站
  • 平面设计招聘唐山百度优化排名
  • 开通建立企业网站聊城九洲建设有限公司网站