您的位置: 首页 - 站长

dede如何设置网站端口假如做网站推广如何推广

当前位置: 首页 > news >正文

dede如何设置网站端口,假如做网站推广如何推广,电子商务主要是干嘛的,百度站长平台app图像增强算法#xff08;直方图均衡化、拉普拉斯、Log、伽马变换#xff09; 一、图像增强算法原理 图像增强算法常见于对图像的亮度、对比度、饱和度、色调等进行调节#xff0c;增加其清晰度#xff0c;减少噪点等。 图像增强往往经过多个算法的组合#xff0c;完成上…图像增强算法直方图均衡化、拉普拉斯、Log、伽马变换 一、图像增强算法原理 图像增强算法常见于对图像的亮度、对比度、饱和度、色调等进行调节增加其清晰度减少噪点等。 图像增强往往经过多个算法的组合完成上述功能比如图像去燥等同于低通滤波器增加清晰度则为高通滤波器当然增强一副图像是为最后获取图像有用信息服务为主。一般的算法流程可为图像去燥、增加清晰度对比度、灰度化或者获取图像边缘特征或者对图像进行卷积、二值化等上述四个步骤往往可以通过不同的步骤进行实现后续将针对此方面内容进行专题实验列举其应用场景和处理特点。 1.1 基于直方图均衡化的图像增强 图像对比度增强的方法可以分为两种直接对比度增强方法间接对比度增强方法。直方图拉伸和直方图均衡化是常见的间接对比度增强方法。直方图拉伸是利用对比度拉伸对直方图进行调整扩大前景和背景灰度的差别这种方法可以通过线性和非线性的方法来实现其中ps中就是利用此方法提高对比度直方图均衡化则是利用累积函数对灰度值进行调整实现对比度的增强。 直方图均衡化处理原理 将原始图像的灰度图从比较集中的某个灰度区间均匀分布在整个灰度空间中实现对图像的非线性拉伸重新分配图像像素值。 算法应用场景 1、算法的本质是重新分布图像的像素值增加了许多局部的对比度整体的对比度没有进行太大改变所以应用图像为图像有用数据的对比度相近是例如X光图像可以将曝光过度或曝光不足照片进行更好的显示或者是背景及前景太亮或太暗的图像非常有用。 2、算法当然也有缺点具体表现为变换后的图像灰度级减少某些细节减少某些图像有高峰值则处理后对比度不自然的过分增强。 算法实现特点 1、均衡化过程直方图均衡化保证在图像像素映射过程中原来的大小关系保持不变即较亮的区域依旧较亮较暗的依旧较暗只是对比度增加不能明暗颠倒保证像素映射函数的值域在0和255之间。累积分布函数是单增长函数并且值域是0到1。 2、累积分布函数实现过程 比较概率分布函数和累积分布函数前者的二维图像是参差不齐的后者是单调递增的。直方图均衡化过程中映射方法是 其中n是图像中像素的总和是当前灰度级的像素个数L是图像中可能的灰度级总数。 来看看通过上述公式怎样实现的拉伸。假设有如下图像 得图像的统计信息如下图所示并根据统计信息完成灰度值映射 映射后的图像如下所示
算法伪代码 1、计算原始灰度图像的像素概率分布2、根据像素概率分布获取图像累积分布函数3、根据映射函数获取变换后的图像1.2 基于拉普拉斯算子的图像增强 利用拉普拉斯算子进行图像增强本质是利用图像的二次微分对图像进行蜕化在图像领域中微分是锐化积分是模糊利用二次微分对图像进行蜕化即利用邻域像素提高对比度。在opencv中也有拉普拉斯函数但那时生成了灰度图像更多的求取边缘。 1.3 基于对象Log变换的图像增强 对数变换可以将图像的低灰度值部分扩展显示出低灰度部分更多的细节将其高灰度值部分压缩减少高灰度值部分的细节从而达到强调图像低灰度部分的目的。变换方法 对数变换对图像低灰度部分细节增强的功能过可以从对数图上直观理解 x轴的0.4大约对应了y轴的0.8即原图上0-0.4的低灰度部分经过对数运算后扩展到0-0.8的部分而整个0.4-1的高灰度部分被投影到只有0.8-1的区间这样就达到了扩展和增强低灰度部分压缩高灰度部分的值的功能。 对于不同的底数底数越大对低灰度部分的扩展就越强对高灰度部分的压缩也就越强。 1.4 基于伽马变换的图像增强 伽马变换主要用于图像的校正将灰度过高或者灰度过低的图片进行修正增强对比度。变换公式就是对原图像上每一个像素值做乘积运算 伽马变换对图像的修正作用其实就是通过增强低灰度或高灰度的细节实现的从伽马曲线可以直观理解 γ值以1为分界值越小对图像低灰度部分的扩展作用就越强值越大对图像高灰度部分的扩展作用就越强通过不同的γ值就可以达到增强低灰度或高灰度部分细节的作用。 伽马变换对于图像对比度偏低并且整体亮度值偏高对于于相机过曝情况下的图像增强效果明显。 二、测试代码 根据上述讲解本文利用python进行编程实验代码如下 def preprocess(filename, i):image cv2.imread(filename)image_gray cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)直方图均衡增强 image_equal cv2.equalizeHist(image_gray) r,g,b cv2.split(image) r1 cv2.equalizeHist® g1 cv2.equalizeHist(g) b1 cv2.equalizeHist(b) image_equal_clo cv2.merge([r1, g1, b1])拉普拉斯算法增强 kernel np.array([ [0, -1, 0], [-1, 5, -1], [0, -1, 0] ]) image_lap cv2.filter2D(image,cv2.CV_8UC3 , kernel)对象算法增强 image_log np.uint8(np.log(np.array(image) 1))
cv2.normalize(image_log, image_log,0,255,cv2.NORM_MINMAX)转换成8bit图像显示 cv2.convertScaleAbs(image_log,image_log)伽马变换 gamma 2 image_gamma np.uint8(np.power((np.array(image)/255.0),fgamma)*255.0) cv2.normalize(image_gamma, image_gamma, 0, 255, cv2.NORM_MINMAX) cv2.convertScaleAbs(image_gamma, image_gamma)结果分析为 1、log函数变化对图像增强来讲更多是对图像的对比度有所减弱毕竟函数表现形式为像素值小的变大点像素值大的变小点所以对比度减小亮度增加正如图像所显示。所以目前看来log函数还是慎用如果提高函数可以利用分段函数啊。 2、gamma函数图像增强这个函数原理可以看出当r大于1时可以当做指数函数小于则为log函数。在试验中我们常用r1实现图像对比度增强。从图像中可以看出黑色更黑白色更白。 3、laplus函数图像增强本质是微分所以为图像锐化在图像锐化是明显凸显图像的细节进而直观上提高图像对比度。 4、equal函数本质是重新分布图像的像素值直观我们发现图像颜色发生变化但对比度是有所提高当然对于这组的图像的作用没有体现。 总结图像增强方法不同应用领域不同更好的应用需要掌握灵活多变的方法。 来源https://www.cnblogs.com/polly333/p/7280764.html