图像增强目的使得模糊图片变得更加清晰、图片模糊的原因是因为像素灰度差值变化不大,如片各区域产生视觉效果似乎都是一样的, 没有较为突出的地方,看起来不清晰的感觉
解决这个问题的最直接简单办法,放大像素灰度值差值、使图像中的细节更加清晰。
目前较为常用的几个方法:伽马变换、线性变换、分段线性变换、直方图均衡化,对于图像对比度增强,都能取得不错的效果!
本文将对每种方法 简单介绍一下,并借助于 Python 、OpenCV 进行代码实现,提前说一下哈,下面处理的图像对象都是单通道灰度图,不是三通道彩色图!
1,线性变换
线性变换的原理是对所有像素值乘上一个扩张因子
,像素值大的变得越大,像素值小的变得越小,从而达到图像增强的效果,这里利用 Numpy 的数组进行操作;
需要注意的是,像素值最大为255,因此在数组相乘之后需要进行数值截断操作,最终代码如下:
def line_trans_img(img,coffient):
if len(img.shape) == 3:
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
out = 2*img
#像素截断;;;
out[out>255] = 255
out = np.around(out)
return out
这里
设置为 2