蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

在MFC中使用OpenCV的方法

  • 资源ID:52709467       资源大小:131.00KB        全文页数:16页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:20积分 【人民币20元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要20积分 【人民币20元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

在MFC中使用OpenCV的方法

在MFC中运用OpenCV 在MFC中运用OpenCV 演示程序CVMFC 本程序是在 MFC 中运用 OpenCV 的演示程序,由3部分组成。 一、Windows 下用 MFC 编制的程序框架 采纳设备无关位图DIB实现Windows多文档模式下图像的显示,实现显示的关键函数StretchDIBits的原型如下 int StretchDIBits HDC hdc, // 显示设备句柄 int XDest, // 目标矩形区域左上角X坐标 int YDest, // 目标矩形区域左上角Y坐标 int nDestWidth, // 目标矩形区域宽度 int nDestHeight, // 目标矩形区域高度 int XSrc, // 源矩形区域左上角X坐标 int YSrc, // 源矩形区域左上角Y坐标 int nSrcWidth, // 源矩形区域宽度 int nSrcHeight, // 源矩形区域高度 CONST VOID *lpBits, // 位图的像素存放首地址 CONST BITMAPINFO *lpBitsInfo, // 位图信息存放地址 UINT iUsage, // 位图中的颜色类型,RGB模式用DIB_RGB_COLORS DWORD dwRop // 像素操作码,简洁复制用SRCCOPY ; 由于OpenCV中的位图结构中的像素数据与DIB中的像素具有相同的存储结构,见表1中的像素部分。所以,只要为它构造一个DIB的位图信息就可以调用API函数StretchDIBits实现它的显示了。 表1 DIB位图参数与IplImage结构参数 参 数 DIB MFC IplImage OpenCV 宽 度 biWidth width 高 度 biHeight height 像素位数 biBitCount 1,4,8,16,24,32 depth*nChannels depth 8,16,32,64 通道数 --- nChannels 1,2,3,4 单通道位图 调色板单元数 2biBitCount 2, 16, 256 二值图像显示为灰阶图像 256色调色图像显示为真彩色图像 位图坐标原点 底-左 origin 0 顶-左,1 底-左 像素重量存放方式 交叉存取 按像素为单位存放 0 交叉存取,1 位平面方式 对齐方式 行像素数据凑整 4字节对齐 4字节对齐或8字节对齐 每行字节数 biWidth*biBitCount31/32*4 widthStep 像素字节数 biWidth*biBitCount31/32*4* biHeight imageSize 像素存放地址 BYTE* pBits char* imageData 感爱好区域 --- roi 表中正体字母部分表示相同的参数,粗体字母表示参数部分相同时的交集,斜体加下划线表示结构特有的参数。 位图的宽度、高度、像素存放首地址、每行字节数、像素总字节数等5个参数在两种结构中相同。 像素位数、通道数、坐标原点位置、像素重量存放方式、对齐方式等5个参数在两种结构中部分相同,运用时可以取其交集,表中用粗体字表示。 有2个参数是两种位图各自独有的,感爱好区域为IplImage结构所独有,调色板单元为DIB所独有。 从表1中可以看出,除了高精度图像位深度16,32,64外,这两种位图结构在图像处理的绝大部分应用中可以通用。 从以上比较中也可看出,IplImage结构适用于高精度处理,并且可以限制处理的区域;而DIB适用于Windows图形操作,并且可以存储低位数图像文件,如每像素一位的二值图像与像素8位的索引图像等。 另一种实现MFC的方法是采纳CvvImage类,它有一个特点,就是其成员函数DrawToHDC可将位图全部经缩放后显示到窗口中。这样,虽然能够察看全图,但当位图与窗口的长宽比不一样时会造成图像失真。而采纳DIB实现的显示比例可选择为11,图像显示没有经过缩放,显示画面按窗口大小进行裁剪,并可运用滑动条选择显示部位,这比较符合图像采集与处理的运用习惯。 二、调用 OpenCV 函数实现处理 运用 OpenCV 函数处理图像在 MFC 环境下显示,实现功能为图像平滑、图像缩小与Canny 边缘检测。依据学习OpenCV一书第2章的3个例子例2-4,2-5,2-6 改编而成。例2-4 与 2-5 运用例图 fruits.jpg,例 2-6 运用例图 lena.jpg。还增加了若干图像处理常用功能,详见下面表2菜单结构列表。 视频播放也用 OpenCV 函数实现,依据OpenCV教程基础篇中第3章的例 3-5 改编而成,用的是 highgui 函数,测试视频文件为globe.avi。 例图文件都在 image\ 书目下。 三、用 DirectShow 编制的视频采集程序 采纳 DirectShow 实现视频采集,其优点是支持高辨别率图像采集,最高辨别率由所用的摄像头确定,如罗技130万像素USB摄像头C300最高辨别率可达1280*1024,在MPEG模式下采集速度为每秒15帧。运用时CPU 的时间占用率在1530之间。 通过多图像平均可以采集得到质量不错的图像,经过4幅图像平均采集所得图像的信噪比可提高一倍。由于须要连续采集多帧图像,约需0.25秒,故相宜采集静态或缓慢移动对象的图像。 视频采集功能调用 OpenCV China 网站下载的软件 camerads 中的函数实现。 主要内容 下面列出stdafx.h尾部集中的几个头文件,程序结构由此可见一斑。 include CVMFC.h // 窗口管理 include cv.h // OpenCV 头文件 include highgui.h include CameraDS.h // DirectShow基于OpenCV include CVDSCap.h

注意事项

本文(在MFC中使用OpenCV的方法)为本站会员(18244465852)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开