1.位图基础:

在opencv中,位图以一个二维矩阵保存,具体格式如下[y方向像素数,x方向像素数,颜色通道数],例如

[512,512,3],通常可以用来存储一个512 x 512,颜色通道为3的图片。矩阵的前两维用于存储像素的坐标点,第三维是一个数组,数组用于存储颜色通道

2.获取像素值:

获取某一点的像素值,可以直接查询这个三维矩阵的对应像素坐标的值

例:print img[200,200]

3.修改像素值:

修改像素值,只需要修改对应矩阵相应坐标的数值即可

例:img[200,200]=[255,255,255]

同样的,我们也可以修改一个区域内的像素值

例:img[0:99 , 0:99 ] = [255,255,255]

当然我们也可以将一块区域的像素,给填充到另一块区域中

例: img[0:99, 0:99] = img[100:199 , 100:199]

 

4.获取图片信息:

(1)使用cv2.spilt(图形文件)来分割颜色通道,此函数返回一个数组

例:[b,g,r]=cv2.split(img),其中b,g,r分别保存三个颜色通道

这一步操作可以认为,是将图形的3个颜色通道分别拆开,如果是RGB的通道,可以理解为,将组成图形的三原色按坐标分开,b,g,r都是二维矩阵,b, g ,r 可以直接使用imshow函数显示出来

(2)使用cv2.merge(颜色通道)可以将多个通道融合起来

例:img=cv2.merge([b,g,r])

 

(3)使用img.shape属性,获取图形的长,宽,通道数

 

(4)使用img.size获取图形的所有像素数。

 

(5)使用img.dtype获取图形的数据格式