Opencv | 灰度化-最大值法、平均值法、加权平均值法
用的灰度化方法主要有如下三个:最大值灰度化法、平均值灰度化法、加权平均值灰度化法。最大值灰度化法虽然细节保留最好,但是该方法容易导致图像局部过亮,干扰识别。平均值法得到的图像细节保存的不错,但是图中的依然存在大量的噪点,相比之下,加权平均值法的细节保留较好,噪点去除的最好,并且可以较好地控制了局部过亮的情况。
·
import cv2
img = cv2.imread('schoolchuizhi.jpg')
img = cv2.resize(img, (240, 240), interpolation=cv2.INTER_CUBIC)
height, width = img.shape[:2]
gray = np.zeros((height, width, 1), dtype="uint8")
for i in range(height):
for j in range(width):
gray[i][j] = img[i][j][0] * 0.114 + img[i][j][1] * 0.587 + img[i][j][2] * 0.299 # 加权值法
#gray[i][j] = (img[i][j][0] +img[i][j][1]+img[i][j][2])/3#平均值法
#gray[i][j] = max(img[i][j][0],img[i][j][1],img[i][j][2]) #最大值法
cv2.imshow("Gray", gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
用的灰度化方法主要有如下三个:最大值灰度化法、平均值灰度化法、加权平均值灰度化法。最大值灰度化法虽然细节保留最好,但是该方法容易导致图像局部过亮,干扰识别。平均值法得到的图像细节保存的不错,但是图中的依然存在大量的噪点,相比之下,加权平均值法的细节保留较好,噪点去除的最好,并且可以较好地控制了局部过亮的情况。
更多推荐


所有评论(0)