本篇接上一篇文章(点击查看)
通过观察,可以发现原图中第一个黄色标记块所在区域相对比下面两个标记块显得更模糊一些。因此,本篇中通过选取ROI区域(即感兴趣区域),并对该区域单独进行图像增强处理,使得原图中局部模糊的区域变得清晰,代码如下:
# 图片清晰化
#获取ROI区域
roi_img = image[0:131,0:600]
cv2.imshow("roi", roi_img)
获取到的ROI区域如图所示:
#对ROI区域进行锐化操作
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32) #锐化
clear = cv2.filter2D(roi_img, -1, kernel=kernel)
cv2.imshow("clear", clear)
锐化后的ROI区域如图所示:
可以从图中明显的看到,原图中局部模糊的区域已经被清晰化了,接下来,将清晰化后的ROI区域添加到原图中
#将清晰化后的ROI区域添加到原图中
image[0:131,0:600] = clear
cv2.imshow("roi_and_original", image)
通过对比可以发现,局部处理后的图片确实已经比原图清晰一些了
整段代码如下:
# 图片清晰化
#获取ROI区域
roi_img = image[0:131,0:600]
cv2.imshow("roi", roi_img)
#对ROI区域进行锐化操作
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32) #锐化
clear = cv2.filter2D(roi_img, -1, kernel=kernel)
cv2.imshow("clear", clear)
'''
#对ROI区域进行对比增强
f_image = clear/255.0 # 图像归一化
gamma = 1.5
O_img = np.power(f_image, gamma)#伽马变换
cv2.imshow("gamma", O_img)
'''
#将清晰化后的ROI区域添加到原图中
image[0:131,0:600] = clear
cv2.imshow("roi_and_original", image)