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

江苏宏远建设集团网站网上销售型的企业网站

江苏宏远建设集团网站,网上销售型的企业网站,wordpress中级教程,网站建设捌金手指花总十六在上一节#xff0c;我们实现了桌面捕获功能#xff0c;并成功把桌面图像和麦克风声音发送给对方。在实际应用中#xff0c;有时候会需要把桌面与摄像头图像叠加在一起发送#xff0c;这节课我们就来看下如何实现这一功能。 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.pierceye.com/news/816563/

相关文章:

  • 江门网站建设策划什么是网络营销职能
  • 北京网站托管毕设做网站是不是太low
  • 企业网站建设费用属管理费用吗重庆网站建设制作设计公司哪家好
  • 深圳营销型网站需要多少钱做网站个体户经营范围
  • php 手机网站 上传图片晋州做网站的联系电话
  • 云天下网站建设做抖音seo排名软件是否合法
  • 网站开发合同管辖权异议龙岩网上办事大厅官网
  • 建网站费用明细海口建设网站
  • 网站页面设计说明怎么写影视小程序源码
  • 传媒网站制作网站申请建设
  • 前端做项目的网站新密市城乡建设局网站
  • 网站app建设方案智能外呼系统
  • 创建网站免费注册wordpress 熊掌号代码
  • 的广州建网站的公司黄山市网站建设
  • 做网站外包需要提供什么登录百度账号
  • 网站备案要买备案号西安鑫瀚通网站建设
  • 做网站的公司违约怎么处理免费免费网站模板
  • 动漫网站建设方案项目书目录做网站站长先把作息和身体搞好
  • 网站建设说明书网页制作成品图加代码
  • 中国网站设计师联盟福州网站大全
  • 香奈儿网站建设竞价培训
  • 毕业设计做网站的步骤电脑培训学校在哪里
  • 怎样在网站图片上做店铺广告公司名logo设计图片
  • 做ic什么网站好攀枝花三线建设网站
  • 台州市网站建设东莞网站策划
  • 网站建设响应技术wordpress502
  • 开个捕鱼网站怎么做网络销售面试问题有哪些
  • 外国纪录片网站机场建设海外seo是什么
  • 一个服务器做多个网站微信商城和网站建设
  • 网站的基本类型地推平台