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

上海网站设计哪家强国家企业公示信息查询系统官网

上海网站设计哪家强,国家企业公示信息查询系统官网,群晖做网站服务器,贵州省城乡建设局网站查在上一节,我们实现了桌面捕获功能,并成功把桌面图像和麦克风声音发送给对方。在实际应用中,有时候会需要把桌面与摄像头图像叠加在一起发送,这节课我们就来看下如何实现这一功能。 1.备份与修改 备份demo10并修改demo10为demo11…

在上一节,我们实现了桌面捕获功能,并成功把桌面图像和麦克风声音发送给对方。在实际应用中,有时候会需要把桌面与摄像头图像叠加在一起发送,这节课我们就来看下如何实现这一功能。

1.备份与修改

备份demo10并修改demo10为demo11.

2.用新队列存放叠加前的图像数据

修改原函数capCam和capScr,用新的inCamQue和inScrQue存放摄像头和桌面图像Mat:


int fmle::capCam() {videoCap.open(0);cv::Mat camMat;while (true){if (!videoCap.isOpened()){Sleep(1);continue;}BOOL ifSuccess = videoCap.read(camMat);if (camMat.empty()){Sleep(1);continue;}if (camMat.cols != backWidth || camMat.rows != backHeight){resize(camMat, camMat, cv::Size(backWidth, backHeight));}if (!camMat.empty()){			EnterCriticalSection(&videoQueLock);tmpVideoQueObj.type = 1;tmpVideoQueObj.tmpMat = camMat;tmpVideoQueObj.dataLen = camMat.cols*camMat.rows * 3;inCamQue.push(tmpVideoQueObj);if (inCamQue.size() >videoDataArrNum){inCamQue.front().dataLen = 0;inCamQue.front().tmpMat.release();inCamQue.front().dataLen = NULL;inCamQue.pop();}LeaveCriticalSection(&videoQueLock);}Sleep(40);}camMat.release();return 0;
}int fmle::capScr(){HWND hwnd = GetDesktopWindow();cv::Mat scrMat;while (true){scrMat = hwndToMat(hwnd);        if (scrMat.cols != backWidth || scrMat.rows != backHeight){resize(scrMat, scrMat, cv::Size(backWidth, backHeight));}if (scrMat.data&&!scrMat.empty()){        cvtColor(scrMat, scrMat, CV_BGRA2BGR);//mainDlg->drawMatOfPub(scrMat);EnterCriticalSection(&videoQueLock);tmpVideoQueObj.type = 1;tmpVideoQueObj.tmpMat = scrMat;tmpVideoQueObj.dataLen = scrMat.cols*scrMat.rows * 3;inScrQue.push(tmpVideoQueObj);if (inScrQue.size() >videoDataArrNum){inScrQue.front().dataLen = 0;inScrQue.front().tmpMat.release();inScrQue.front().dataLen = NULL;inScrQue.pop();}LeaveCriticalSection(&videoQueLock);}Sleep(40);}scrMat.release();    return 0;
}

3.分别从桌面和摄像头队列取数据并叠加

新建一线程,调用mixVideo实现桌面和摄像头图像的叠加

int fmle::mixVideo(){cv::Mat camMat, scrMat, imageROI;while (true){if (inScrQue.size() > 0 && inCamQue.size() > 0){EnterCriticalSection(&videoQueLock);camMat = inCamQue.front().tmpMat.clone();resize(camMat, camMat, cv::Size(120, 80));scrMat = inScrQue.front().tmpMat.clone();if (!camMat.empty() && !scrMat.empty()){imageROI = scrMat(cv::Rect(0, 0, camMat.cols, camMat.rows));addWeighted(imageROI, 0, camMat, 1, 0.0, imageROI);mainDlg->drawMatOfPub(scrMat);}camMat.release();scrMat.release();imageROI.release();LeaveCriticalSection(&videoQueLock);}Sleep(40);}return 0;
}

4.调试运行

效果如下:

http://www.yayakq.cn/news/435192/

相关文章:

  • 章贡区网站建设如何做jquery音乐网站
  • 滁州金鹏建设集团网站餐饮企业网站建设方案书
  • 茂名建站价格php ajax网站开发典型实例 pdf
  • 开发 网站 团队wordpress主题目录位置
  • 天空网站开发者深圳电子商务网站开发
  • 个人网站开发实例襄阳seo优化服务
  • 股市财经新闻最新消息自己有网站怎么优化
  • 湟源县wap网站建设公司微餐饮网站建设平台
  • 服务器 空间 虚拟主机 网站需要怎么在外贸公司拿订单
  • 网站开发教学网站中山市交通建设发展集团网站
  • 芜湖市建设路小学网站福田蒙派克油耗是多少
  • 江门市建设银行网站外贸建站 服务器
  • 如何修改网站底部怎么做像天猫类似的网站
  • 做的不好的网站长沙制作网站公司哪家好
  • 路由器 做网站建筑公司资质等级
  • 成都学习网站建设h5跳转小程序
  • 网站共享备案wordpress 子分类模板
  • 学校网站建设电话推广公司哪里找
  • 做网站前台用什么做网站阜阳
  • 路由器做网站服务器吗赚钱软件app
  • 如何做竞价网站什么叫网络营销
  • 专业做校园文化的网站seo整站优化外包
  • 个人博客网站备案甘肃省城乡与建设厅网站首页
  • 山东众德建设项目管理公司网站怎么做自己的网站logo
  • 宝安区做网站品牌设计案例网站
  • wordpress products厦门关键词优化seo
  • 商业网站的域名后缀是什么模板网站怎么建设
  • 有什么做详情页的参考网站网站服务器收费
  • seo网站设计就业前景小程序怎么进入公众号
  • 正黄集团博弘建设官方网站wordpress多张页面左右翻