1、访问和修改像素值
加载彩色图像:
importnumpy as npimportcv2 as cv
image=cv.imread("dog2.jpg",1)
谷歌colab上显示图像:
from google.colab.patches importcv2_imshow
cv2_imshow(image)
你可以通过行和列坐标来访问像素值。对于 BGR 图像,它返回一个由蓝色、绿色和红色值组成的数组。对于灰度图像,只返回相应的灰度。
px=image[100,100]
array([193, 200, 215], dtype=uint8)
blue=image[100,100,0]
193
你可以用相同的方式修改像素值。
image[100,100]=[255,255,255]
array([255, 255, 255], dtype=uint8)
警告
Numpy是用于快速数组计算的优化库。因此,简单地访问每个像素值并对其进行修改将非常缓慢,因此不建议使用。
注意上面的方法通常用于选择数组的区域,例如前5行和后3列。对于单个像素访问,Numpy数组方法array.item()和array.itemset())被认为更好,但是它们始终返回标量。如果要访问所有B,G,R值,则需要分别调用所有的array.item()。
更好的像素访问和