OpenCV Python教程之图像元素的访问、通道分离与合并
转载请详细注明原作者及出处,谢谢!
访问像素
像素的访问和访问numpy中ndarray的方法完全一样,灰度图为:
img[j,i] = 255
其中j,i分别表示图像的行和列。对于BGR图像,为:
img[j,i,0]= 255
img[j,i,1]= 255
img[j,i,2]= 255
第三个数表示通道。
下面通过对图像添加人工的椒盐现象来进一步说明OpenCV Python中需要注意的一些问题。完整代码如下:
import cv2
import numpy as np
def salt(img, n):
for k in range(n):
i = int(np.random.random() * img.shape[1]);
j = int(np.random.random() * img.shape[0]);
if img.ndim == 2:
img[j,i] = 255
elif img.ndim == 3:
img[j,i,0]= 255
img[j,i,1]= 255
img[j,i,2]= 255
return img
if __name__ == '__main__':
img = cv2.imread("图像路径")
saltImage = salt(img, 500)
cv2.imshow("Salt"