图像加强目的使得模糊图片变得更加清晰、图片模糊的缘由是由于像素灰度差值变化不大,图片各区域产生视觉效果彷佛都是同样的, 没有较为突出的地方,看起来不清晰的感受web
解决这个问题的最直接简单办法,放大像素灰度值差值、使图像中的细节更加清晰。数组
目前较为经常使用的几个方法:伽马变换、线性变换、分段线性变换、直方图均衡化,对于图像对比度加强,都能取得不错的效果!微信
本文将对每种方法 简单介绍一下,并借助于 Python 、OpenCV 进行代码实现,提早说一下哈,下面处理的图像对象都是单通道灰度图,不是三通道彩色图!函数
1,线性变换
线性变换的原理是对全部像素值乘上一个扩张因子 ,像素值大的变得越大,像素值小的变得越小,从而达到图像加强的效果,这里利用 Numpy 的数组进行操做;
ui
须要注意的是,像素值最大为255,所以在数组相乘以后须要进行数值截断操做,最终代码以下:this
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
这里