Opencv学习笔记(2)模块,图像读取、显示、叠加、融合、颜色分离、亮度、对比度



Opencv学习笔记(2)模块,图像读取、显示、叠加、融合、颜色分离、亮度、对比度


配置opencv2.4.8 vs2010 win8.1 32位


继上次认真写了opencv的配置,后来在win8 64位系统下配置了opencv,事实上,32位,64位跟操作系统没有任何关系。只是跟编译系统有关系,因此认准自己的编译系统就可以了。

后来是跟着浅墨的笔记来学习,他更新到七,我看到六了。这个速度适合慢慢学习,打算从明天开始看一些别的内容。论文差不多了,工作让下个月去实习,这样就更要认真学习了。

这次就将进来看到的一些内容进行总结。

第一节:opencv所有的模块

http://blog.csdn.net/poem_qianmo/article/details/19925819

这个算是比较全面的了。这里再给一个官方的介绍吧。http://docs.opencv.org/modules/core/doc/intro.html

总的来说,那么多的模块,在用到的时候需要在头文件中声明。那么多,就通过看程序的过程来学习吧。

第二节:图像的读取、显示

http://blog.csdn.net/poem_qianmo/article/details/20537737

Mat类型作为OpenCV2新纪元的重要代表“人物”,它是对应于OpenCV1.0时代的IplImage的主要用来存放图像的数据结构。看了这个就有很明确的理解,当下次看到Iplimage的时候,就不用再去纠结是什么意思。

既然选择了2.4.8版本来作为自己学习的版本,对于以前的版本也要有所了解,这样看到很多代码的时候就不会不知所措。

第三节:图像叠加、融合

http://blog.csdn.net/poem_qianmo/article/details/20911629

主要是理解Rect函数的作用,如果出现了图像越界的问题,就比较麻烦。因此,要保证添加的logo图像融合之后,位置不会超出原来图像的大小。

第四节:分离颜色通道&多通道图像混合

http://blog.csdn.net/poem_qianmo/article/details/21176257

这个就没有什么难度了。当然了,要对图像有深刻的了解才行,不然很多内容会看不懂的。

第五节:亮度和对比度调整

http://blog.csdn.net/poem_qianmo/article/details/21479533

staturate_cast是防止数据的溢出。

其作用就像

if(data<0)

  data=0;

if(data>255)

data=255;

在评论中看到,文章中给出来的只是初级的对比度。事实上,复杂一点的对比度是通过一条像素强度映射曲线来实现增强或者减弱对比度。

 

暂时就看了这么多内容,尽管网上有很多的学习笔记,有的写了很多,但是发现都是很早的版本。为了学习的内容都是新内容,就需要吸取新的内容。应该是可以通过看官方的document以及根据自己的需求去找一些新版本的内容,这样就不会让自己学习的东西成为落后的内容。看程序已经不是问题了,但是发现写程序还是很大的问题。这些程序,看了以后还是没法自己写出来。我在想,到底需要将这些程序让自己达到能默写的程度吗?

你可能感兴趣的:(opencv)