1、获取修改指定位置的像素值
要访问图像特定位置的元素值,这里我们用到了numpy提供的item()函数,具体用法如下:
img=cv2.imread('images/test.jpg')
#首先读入一张图片
print(img.item(100,150,2))#输出一个整数值,就是100,150这个坐标点,2通道的像素值,此时输出值为75
img.itemset((100,150,1),100)
#利用itemset()函数为指定位置的像素点设置像素值 print(img.item(100,150,1))
#输出重新设置之后该位置的像素值,此时输出值为100
也可以直接将选定区域的像素值直接赋值到指定的大小相同的区域,实现复制
copy=img[0:100,0:100]
img[200:300,200:300]=copy
2、获取图像的各种属性
这里我们涉及到的属性包括
.shape() 图片的形状,包括行数,列数以及通道数
.size() 图片的像素个数
.dtype() 图片的类型
这三个函数的返回值形式依次如下所示
(512, 512, 3)
786432
uint8
uint8
3、对图像的通道进行拆分
我们可以通过numpy索引非常方便的实现对单一通道的操作,代码如下
img=cv2.imread('images/test.jpg')
img[:,:,1]=0
#通过对某一通道的赋值直接操作这个通道