opencv源码解读

本文主要解析了opencv中imread()函数的源码,介绍了如何读取图像数据并将其存储到Mat对象中。通过分析imread_()函数,详细讲解了文件头部信息的读取、图像类型和颜色空间的确定,以及数据加载的过程。虽然函数实现看似简单,但实际上涉及到了图像解码的复杂流程。
摘要由CSDN通过智能技术生成

今天是开始看opencv源码的第一天,想看看opencv2.0以上版本是怎么实现的。当然,这只是最初的一步,现在我就连opencv的基本框架都还没能弄清楚呢,现在来看只是为了看看代码是怎么实现的。

好了,今天的第一课:imread()函数的解析。

声明:

 

Mat imread( const string& filename, int flags );//这很标准的写法,传入一个string类型的常量引用。

下面是定义:

 

Mat imread( const string& filename, int flags )
{
    Mat img;//创建一个变量
    imread_( filename, flags, LOAD_MAT, &img );//这里用的是地址符号,为什么呢?当然是为了改变其里面的数据了。
    return img;
}

这个函数是就这么几行么?这么几行能干什么呢?其实它把所有的事情交给了imread_()函数。下面我们跟进去:

声明:

static void*  
imread_( const string& filename, int flags, int hdrtype, Mat* mat=0 );

定义:

static void*    //返回的是一个空指针,其实在上面,这个返回值时没有用到的。
imread_( const string& filename, int flags, int hdrtype, Mat* mat=0 )//filename:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值