OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
楼主: jsxyheu2014

基于opencv和mfc的摄像头采集框架(GOMFCTemplate2)

[复制链接]
发表于 2017-3-24 10:09:05 | 显示全部楼层

好哒谢谢。老师有没有开建什么 技术交流群,想到时候跟大家分享 学习一下,虽然才入门。
回复 支持 反对

使用道具 举报

发表于 2017-3-24 10:09:51 | 显示全部楼层
尘喜 发表于 2017-3-24 09:57
老师 你好 我想咨询 我现在用的是opencv2.4.9+VS2010 在调用void CCameraDS:isplayFilterProperties()属 ...

单步走一下,顺便把报错 图别上来看看,万一有人知道呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-24 18:36:43 | 显示全部楼层
boyboy 发表于 2017-3-24 10:09
好哒谢谢。老师有没有开建什么 技术交流群,想到时候跟大家分享 学习一下,虽然才入门。 ...

最近在分享《学习Opencv3.0》
如果你有兴趣,可以把自己的相关情况发到jsxyhelu@foxmail.com,我届时把进群链接发给你
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-24 18:37:38 | 显示全部楼层
尘喜 发表于 2017-3-24 09:57
老师 你好 我想咨询 我现在用的是opencv2.4.9+VS2010 在调用void CCameraDS:isplayFilterProperties()属 ...

这个最好需要截图
只是在DisplayFilterProperties这个地方报错吗?
回复 支持 反对

使用道具 举报

发表于 2017-3-26 14:02:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2017-3-27 16:08:21 | 显示全部楼层
jsxyheu2014 发表于 2017-3-24 18:37
这个最好需要截图
只是在DisplayFilterProperties这个地方报错吗?



根据断点执行到红色代码处 会报错

回复 支持 反对

使用道具 举报

发表于 2017-3-30 19:45:52 | 显示全部楼层
老师,我在开摄像头那,把视频图像的每一帧加入了滤波,会卡顿。有什么方法能优化啊?
  1. //摄像头显示循环,所有关于采集的操作是通过主线程传递控制变量到采集线程,而后由采集线程完成的
  2. DWORD WINAPI CaptureThread(LPVOID lpParameter)
  3. {
  4.         CGOMfcTemplate2Dlg* pDlg = (CGOMfcTemplate2Dlg*)lpParameter;
  5.         while (true)
  6.         {
  7.                 Mat temp;
  8.                 if (pDlg->b_closeCam)//退出循环
  9.                 {
  10.                         break;
  11.                 }
  12.                 //从directX中获得当前图像并显示出来
  13.                 IplImage* queryframe = pDlg->cameraDs.QueryFrame();
  14.                 Mat camframe(queryframe);
  15.                 if (pDlg->m_beauty)
  16.                 {       
  17.                         temp = camframe.clone();
  18.                         bilateralFilter(temp, camframe, 15, 25 * 2, 25 / 2);       
  19.                 }
  20.                
  21.                 pDlg->showImage(camframe, IDC_CAM);
  22.                 if (pDlg->b_takeApic)
  23.                 {
  24.                         pDlg->m_mainframe = camframe.clone();
  25.                         pDlg->b_takeApic = false;
  26.                 }
  27.                 if (pDlg->m_mainframe.rows > 0)
  28.                 {
  29.                         pDlg->showImage(pDlg->m_mainframe, IDC_PIC);
  30.                 }
  31.         }
  32. }
复制代码
baozha.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-30 20:41:59 | 显示全部楼层
boyboy 发表于 2017-3-30 19:45
老师,我在开摄像头那,把视频图像的每一帧加入了滤波,会卡顿。有什么方法能优化啊?
...

bilateralFilter的运算量比较大。如果一定要解决这个问题,需要考虑研究进程间通信,postmessage一类问题。
回复 支持 反对

使用道具 举报

发表于 2017-3-31 15:44:08 | 显示全部楼层
jsxyheu2014 发表于 2017-3-30 20:41
bilateralFilter的运算量比较大。如果一定要解决这个问题,需要考虑研究进程间通信,postmessage一类问题 ...

老师能不能说细节一点的思路。按我理解,这个是开摄像头是子线程 啊,然后把循环里边的视频每一帧进行滤波处理。 如果是进程之间,那就是说开摄像头是一个进程,滤波又是另外一个进程吗,然后相互通讯的是处理前的视频帧,跟处理后的视频帧吗?这样效率会高吗? 我没弄过进程间的通信呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-31 21:59:36 | 显示全部楼层
boyboy 发表于 2017-3-31 15:44
老师能不能说细节一点的思路。按我理解,这个是开摄像头是子线程 啊,然后把循环里边的视频每一帧进行滤 ...

1 双边滤波 吃资源,不建议直接放在主循环中;
2 可以将滤波和实时画面显示分两个位置显示
3 进程间通信是需要学习的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-5-6 22:56 , Processed in 0.010501 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表