本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。
原文链接:使用OpenCV图像修复技术去除眩光
眩光是一种因过度和不受控制的亮度而引起的视觉感觉。眩光可能会使人丧失能力或只是让人感到不舒服。眩光是一种主观感受,对眩光的敏感度可能有很大差异。老年人通常对眩光更敏感,这是由于眼睛的老化特性。
首先,我们需要检测眩光存在的位置。我们可以使用全局二值化轻松识别它们,因为当眩光通常存在时,该像素值大于 180。使用它可以检测到眩光。因此,我们需要获取大于 180 的像素,然后进行移除部分。
下面的函数用于获取图像的蒙版,其中当像素大于 180 且低于其黑色时,像素为白色。我们将图像的实际眩光位置设为白色,而其他地方设为黑色。
def create_mask(image):
gray = cv2.cvtColor( image, cv2.COLOR_BGR2GRAY )
blurred = cv2.GaussianBlur( gray, (9,9), 0 )
_,thresh_img = cv2.threshold( blurred, 180, 255, cv2.THRESH_BINARY)
thresh_img = cv2.erode