opencv图像显示imshow()源码分析

无论什么图片格式,opencv最终都是以位图形式进行图片显示,即以bmp图像格式进行图像显示,bmp图像由四部分组成:位图文件头、文图信息头、颜色表、位图数据。显示中的一个重要步骤就是将加载进来的Mat图像转换成bmp格式。下面就源码展开,看看显示过程,粘贴代码如下:

跟踪源码,可以发现最终显示函数仍旧是cvShowImage函数,继续跟踪下去,其源代码如下:

Line1193,根据读取到的图像信息进行位图数据结构相关成员进行赋值

Line1195,CreateDIBSection函数创建位图,其中dst_ptr指针指向该位图数据区域

Line1199,cvInitMatHeader函数对dst和dst_ptr进行内存区域关联,数据区域共享

Line1201,cvConvertImage函数已将原始图像cvMat类型变量image的相关数据拷贝到dst中了,也就相当dst_ptr指向的内存有位图的数据了

Line1206,InvaliddateRect函数对窗体进行刷新,也就是对客户窗口进行刷新,此时图像便显示在窗口上

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值