为了得到更加清晰的图像我们需要通过技术对图像进行处理,比如使用对比度增强的方法来处理图像,对比度增强就是对图像输出的灰度级放大到指定的程度,获得图像质量的提升。本文主要通过代码的方式,通过OpenCV的内置函数将图像处理到我们理想的结果。
灰度直方图 邮箱:215114768@qq.com巷搜助手是一款磁力链接的搜索工具,输入关键词,即可实现对相关资源的搜索,双击表项,就可以复制磁力链接了。
灰度直方图通过描述灰度级在图像矩阵中的像素个数来展示图像灰度级的信息,通过灰度直方图的统计我们可以看到每个灰度值的占有率。下面是一个灰度直方图的实现:运行结果
线变换线变换的公式为:
图像的线变换无疑就是利用矩阵的乘法就行线变换,管道保温施工比如一个矩阵I ,2I,3I (np.unt8 ndarry类型就是unt8类型)就是一个矩阵的变换.
运行结果:
灰度级范围越大就代表对比度越高,反之对比度越低视觉上清晰度就越低。我们通过a=2的线对比度拉伸将灰度级范围扩大到[0,255]之间,如上图我们改变灰度级的范围后图像变的清晰。
直方图正规化将图像O中的小灰度级记为OminOmin,大灰度级记为OmaxOmax,假如输出的图像P的灰度级范围为[Pmin,PmaxPmin,Pmax],则O 与 P的关系为:
其中P(r,c)就代表P的第r行第c列的灰度值。这个过程就是直方图的正规化。我们一般令P的范围是[0,255],所以直方图的正规化是在求a,b变换的值的方法,我们可以得到:
下面我们使用OpenCV来实现上面的理论:
伽玛变换将一张图的灰度值归至[0,1]后,对于8位图来说,除以255即可。伽玛变换就是令O(r,c)=I(r,c)γI(r,c)γ,0≤r<H,0≤≤r<H,0≤c<W. 当γγ等于1时图像不发生变换,而当γγ大于0且小于1时就可以增强图像的对比度,相反的当γγ大于1时就可以使图像对比度降低。 以下是伽玛变换在OpenCV中的实现:
运行结果:
直方图的均衡化 计算图像的灰度直方图 计算灰度直方图的累加直方图 根据累加的直方图和直方图均衡化的原理得到输入灰度级与输出灰度级之间的映射关系 使用循环的方式得到输出图像的每一个像素的灰度级运行结果:
以上就是python 基于opencv实现图像增强的详细内容,更多关于python opencv的资料请关注脚本之家其它相关文章!
18632699551