opencv学习(一)
1. opencv1.0 时代图像存储格式是基于C语言接口的 Ipllmage* , 而从2.0版本后,opencv 采用Mat类作为数据结构进行图像存取。
2. 通道的概念理解: 一个图像的通道数是N ,就表示每个像素点处有N个数,这个像素点需要N个数来描述。 一个axb的N通道图像,其图像矩阵实际就是b行(N *a)列的数字矩阵。
opencv 图像的通道有 1, 2, 3, 4。 1, 3通道常见, 2 和4通道不常见。
1通道的是灰度图。
3通道的是彩色图, 比如RGB图像。
4通道的图像是RGBA, RGB在加上一个A通道,alpha通道,表示透明度。alpha通道可以赋值0到1,或者0到255,表示透明到不透明。
2通道图像是RGB555 和 RGB565, RGB555 是16位, 2个字节, 第一字节的前五位是R, 第二字节的最后五位是B, 中间的字节是G。
3. OpenCV中用imshow( )来显示图像,只要Mat的数据矩阵符合图像的要求,就可以用imshow来显示。二通道好像不可以。。。超过了4通道,就不是图像了,imshow( )也显示不了。
4. imshow( )显示单通道图像时一定是灰度图,如果我们想显示红色的R分量,还是应该按三通道图像显示,只不过G和B通道要赋值成0或255.
5. 通道分解用split( ),通道合成用merg( ),这俩函数都是mixchannel( )的特例。