在图像基本处理过程中我们会遇到一些要增强图像效果的问题,例如更好的视觉效果!一般我们对图像增强的是亮度,对比度,颜色,图像锐化等量纲。
其中亮度是我们比较熟悉的量,也直观。对比度这就体现在灰度值上面提高对比度就会增大灰度值之间的差值!在这里为了大家更容理解亮度和对比度,
我跟大家分享一下线性函数提高亮度和对比度的方法。折目标图像为y,输入图像为f(x)则有:y=af(x)+b其中a位常数大于1则提升对比度!显然小于则1
减小对比度b是类似于图片的矩阵不过每个元素的值对应的全部相等。b用来调节亮度。显然b大于0时增强亮度,小于0时降低亮度!
左边的是原图右边是增大亮度的结果:
为了程序的简单易读下面我将不再一一解释原理和使用自己的函数来实现将使用PIL模块里的函数模块。我们为了做出更好的边缘效果往往会对图像增强,
实质上我们对图像做对比度拉升不会改变图像的梯度即做fft变换后的结果不会有什么改变。我已经做实验验证了没有做数学推导,如果你有兴趣可以试试
数学推导。为了改变图像的梯度值这里提出的方法是对图像做锐化处理。在上面的程序基础上加上下面几句语句!
对于PIL里面的enhance函数模块调用最后的数值2是增强倍数如果改为1则只是复制了图片而已。如果小于1则是弱化图像的效果这里没有列举出来。感兴趣的人可以试试!
显然,大于1则增强效果!下面从左至右的结果与上面个函数对应原图如上面所示。