OpenCv初体验

本学期开始到实验室搬砖了,开始接触一些算法以外的姿势,也算开开眼界吧(还有好多题没有补呐喂! = =)

第一个工作是给一个貌似很厉害的工程debug,这个程序是根据图像的特点以及user的交互结果描出user所希望描绘的结果的边界。

这个工程里用到了opencv库

配置opencv环境就搞了很长时间  - - 首先就是配置环境变量

配置完以后,为了能引用头文件,还要在工程的连接器里进行设置

值得注意的是工程的环境一定要和opencv对应,如果工程是x64就要使用x64的opencv,32位就用32位


接下来用到的是opencv的一个函数和变量类型。

=========================================================朴素的分割线=========================================================

第一个是cvLoadImage()

函数内部有两个参数,第一个参数是打开的图片文件的路径,第二个参数是打开图片的方式,-1表示用默认原图像的通道数读取图像,0代表强制读取为灰度图像,1代表读取彩色图像。

关于这个函数的介绍详细参见blog:点击打开链接

然后是opencv里的图像的一个类,IplImage,这个类的详细介绍参见blog:点击打开链接

值得关注的问题是,一副彩色图像通常由多个通道组成,对于颜色的描述有两种比较主流的方式HSV(HSL)和RGB方式,RGB是为众人俗知的。所以处理图像的时候要根据图像属于哪一种来分类进行处理,对于三通道的图像和单通道的图像由于其存储方式不同,使用相同的方式处理(例如采样)的话就会产生大问题,例如数组越界或者是结果完全不对。另外,windows在识别rgb图像的时候,三种颜色排列的顺序实际上是BGR,而opencv在用cvSaveImage来存储rgb图像的时候存储的是RGB的顺序,因此需要进行一下转换。关于这个的解释可以参见blog:点击打开链接

嗯,就这么多

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章