欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    OpenCV的Mat数据格式及其遍历的程序资料说明.doc

    • 资源ID:3269083       资源大小:14.50KB        全文页数:2页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    OpenCV的Mat数据格式及其遍历的程序资料说明.doc

    OpenCV的Mat数据格式及其遍历的程序资料说明在opencv早期的版本中,图像通过一个叫做IplImage的结构(structure)存储在内存中。由于C+语言对程序员高度的信任,因此它需要手动地对内存进行管理,比如内存的分配和回收,这在大型程序设计中是比较麻烦的。幸运地是,C+可以很好地帮助程序员管理内存,因此opencv2.0后就引入了C+接口。但是C+也有缺点,比如说目前大部分的嵌入式系统只支持C语言,在这些平台上开发opencv程序的话用C+就不是很好。cv:Mat是一个C+类,包含两部分:1)Matrix header,包括矩阵的size、存储方式、矩阵的存储地址等信息;2)指向Marix的指针ji。由于图像处理算法通常都是计算密集型算法,出于程序速度上的考虑,opencv的设计应尽可能地避免拷贝大图像,为了解决这个问题,opencv使用了引用计数机制(reference counter system)【python也使用了这个机制,参考之前的博客】。简单来说,灭个Mat对象都有自己的header,在进行copy运算时,只有headers和指向矩阵的指针会被拷贝,而矩阵本身不会被拷贝,举个栗子:上面的三个Mat对象srcImg,dstImg,C最终都只想同一个数据矩阵,虽然它们的headers是不同的。对它们其中的任意一个进行修改都会影响另外两个对象。上面程序的运行结果如图:当然,如果想拷贝矩阵本身也是有办法的,opencv提供了两个方法:clone()和copyTo():Mat F = A.clone();Mat G;A.copyTo(G);最后总结一下:1)opencv函数中输出图像的内存是自动分配的;2)赋值运算和拷贝构造函数只是拷贝了header,我们可以把这种拷贝理解为一种浅拷贝;3)如果想进行深拷贝,即拷贝矩阵本身的数据,可以采用clone()或copyTo()函数。对1和2的理解可以很重要,这可以解释下面这个程序:其运行结果为:关于如何创建一个Mat对象,最好的办法就是看mat.hpp,因为实在有太多了.,这里在介绍一下opencv里面的一下data type,比如说CV_8UC3,CV_32FC3,CV_32F是什么意思:CV_the number of bits per itemsigned or unsignedType prefixCThe channel number最后是一个大头部分:介绍如何遍历cv:Mat。Q1:图像在Mat中是如何存储的呢?通常我们有足够多的内存,使得上面这个矩阵可以一行接着一行地连续存储,具体是不是呢,可以用isContinous()函数来判断。因此最高效的遍历方法还是采用指针(还有迭代器方法):

    注意事项

    本文(OpenCV的Mat数据格式及其遍历的程序资料说明.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开