赞
踩
掩膜即为与原图大小一致的黑底白框图。
如何生成掩膜?
示例代码如下:
- import cv2
- import matplotlib.pyplot as plt
- import numpy as np
-
- lena = cv2.imread("beautiful women.png")
- # 变成黑白图像
- gray = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)
- # 生成掩膜图像
- mask = np.zeros(gray.shape, np.uint8)
- # 设计想要统计直方图的区域
- mask[200:500, 200:500] = 255
- # 进行与运算
- # gray与gray进行与运算还是gray, mask的作为为,gray先于gray做与运算,结果再和mask做与运算
- img_and = cv2.bitwise_and(gray, gray, mask=mask)
- hist_mask = cv2.calcHist([gray], [0], mask, [256], [0,255])
- hist_gray = cv2.calcHist([gray], [0], None, [256], [0,255])
- plt.plot(hist_mask, label = "mask")
- plt.plot(hist_gray,label = "gray")
- plt.legend()
- plt.show()
-
- cv2.imshow("mask", mask)
- cv2.imshow("gray", gray)
- cv2.imshow("and", img_and)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
输出结果如下:
注意点:
0与任何东西进行与运算都为0
255与非0的进行与运算还是255
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。