由Photoshop高反差保留算法原理联想到的一些图像增强算法
来源:互联网 发布:东北农业大学网络管理 编辑:程序博客网 时间:2024/05/01 19:56
关于高反差保留的用处说明呢,从百度里复制了一段文字,我觉得写得蛮好的:
高反差保留就是保留图像的高反差部分,再说得真白些,就是保留图像上像素与周围反差比较大的部分,其它的部分都变为灰色。拿一个人物照片来举例,反差比较大的部分有人的眼睛,嘴,以及身体轮廓。如果执行了就反差保留,这些信息将留下来(与灰色形成鲜明对比)。它的主要作用就是加强图像中高反差部分。还以人物照片为例子,一般为了使人物皮肤美观,通常需要执行模糊,执行模糊后人物的线条也被模糊了。在执行模糊之前复制图像两个副本,其中一个执行模糊,另一个执行高反差保留,把高反差保留后的图层放置在模糊图层的上方,然后执行柔光混合模式,这样人物的线条就更清楚些。
那么高反差保留算法本身的执行过程是如何的呢,简单的表达就是:
高反差保留 = 原始图像 - 高斯模糊图像 + 127
加上127的目的是为了不让太多的像素由于不在有效范围内而导致图像太黑,从而丢失信息。
简单的代码如下:
unsigned char *Pointer , *CloneP;unsigned char * Clone = (unsigned char *) malloc (Height * Stride );memcpy(Clone, Scan0, Height * Stride); // 复制一个图层GuassBlur(Clone, Width ,Height, Stride, Radius); // 对该图层经进行高斯模糊for (Y = 0; Y < Height; Y++){ Pointer = Scan0 + Y * Stride; CloneP = Clone + Y * Stride; for (X = 0; X < Width; X++) { ValueB = *Pointer - *CloneP + 127 ; // 混合 *Pointer = Clamp(ValueB); Pointer++; CloneP++; }}free(Clone);
高斯模糊是一种低通滤波器,执行后,图像中较为平坦的地方变化不大,而边缘部分被模糊了,如果用原图 - 高斯模糊则得到的则是强化的边缘值,高反差保留在PS的英文版中对应的单词是HighPass,即高通,也就是这个意思。
我这里并不是想强调高反差保留的功能,虽然该算法也有着广泛的应用。 我这里就是想通过类似于原图 - 高斯模糊这样的过程来增强图像。
很多图像都需要增强,特别是一些医学图像,由于拍摄的硬件或拍摄的场合不理想,得到的图像往往细节都被隐藏起来,因此,细节的增强显得尤为重要,而原图 - 高斯模糊正好是图像的细节部位的信息的一种表达,因此,如果在模糊图的基础上再加上这个细节, 则即减少了噪音,又保持了边缘等细节(边缘和噪音都属于高频部分的),能有效的增强图像的信息。
因此,如果用这样的方式来得到一副图像:
增强图像 = 模糊图像 + Amount *(原始图像 - 高斯模糊图像)
其中Amount控制增强的程度,则能起到一定的增强作用。
原图 Amount = 3 Amount = 6
更好的一种方式则是采用双边滤波器来处理,即用双边滤波来代替上述高斯模糊的过程。
比如用双边模糊,上述效果则更好,如下图所示。
原图 Amount = 3 Amount = 6
不过广泛的测试表明:这个算法使用的范围似乎不广,对于很多图像效果过于明显。
测试程序下载:链接
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法。
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法。
- 用OpenCV实现Photoshop算法(九): 高反差保留
- Photoshop脚本 > 高反差保留滤镜的使用
- PS 滤镜算法原理——高反差保留 (High Pass)
- matlab实现PS算法之颜色变换、高反差保留、染色玻璃、碎片
- 关于Retinex图像增强算法的一些新学习
- 关于Retinex图像增强算法的一些新学习。
- 常用的图像增强算法
- 图像增强的算法实现
- 高斯模糊与高反差保留
- 眼底图像血管增强与分割--(3)基于PCA的增强算法原理及实现
- 由抢购小米手机联想到的一些问题
- 由百度关键词联想联想到的
- 图像高斯模糊算法的原理及实现
- retinex图像增强算法
- Retinex图像增强算法
- eclipse 4插件rcp支持Css切换
- Oracle执行计划解释(转)
- SVN使用说明
- 光和热供热各国
- JNI编程步骤
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法
- owerDesigner(15.1.0.2805)反向工程错误解决汇总
- javascript 容错处理代码(屏蔽js错误)
- 关于STM8中断与主函数调用同组IO所出现的问题
- 第三位石匠的生产力
- UITableView 相关问题整理
- 设置UIButton的文字显示位置、字体的大小、字体的颜色
- AVFrame数据转RGB或YUV
- linux下的/etc目录详解