python - opencv 的一些小技巧备忘
使用python-opencv来处理图像时,可以像matlab一样,将一幅图像看成一个矩阵,进行矢量操作,以加快代码运行速度。
下面记录几个常用的操作以备忘
1.求取图像中像素值满足特定条件的掩模图像(mask)
mask = imge < (b, g, r)
这个操作返回的mask大小与image相等,通道数也相等,独立判断每个通道的像素值是否满足条件。
mask = (image < (b, g, r)).all(axis = 2)
这个操作返回的mask大小等于图片大小,只有一个通道,联合判断三个条件返回true/false
2.求取掩模(mask)图像中不为零区域的横纵坐标
x, y = np.where(mask)
3.对指定的坐标x,y求三通道的均值
mu_B, mu_G, mu_R = np.mean(skin_picture[x, y, :],axis = 0)
4.使用掩模作用于图像
image = mask * image #图像为一通道 for i in range(3):
image[:,:,i] = mask * image[:, ;, i]#图像为三通道