由Photoshop高反差保留算法原理联想到的一些图像增强算法
本篇博文来自博主Imageshop,打赏或想要查阅更多内容可以移步至Imageshop。
转载自:https://www.cnblogs.com/Imageshop/p/3583589.html 侵删
关于高反差保留的用处说明呢,从百度里复制了一段文字,我觉得写得蛮好的:
高反差保留就是保留图像的高反差部分,再说得真白些,就是保留图像上像素与周围反差比较大的部分,其它的部分都变为灰色。拿一个人物照片来举例,反差比较大的部分有人的眼睛,嘴,以及身体轮廓。如果执行了就反差保留,这些信息将留下来(与灰色形成鲜明对比)。它的主要作用就是加强图像中高反差部分。还以人物照片为例子,一般为了使人物皮肤美观,通常需要执行模糊,执行模糊后人物的线条也被模糊了。在执行模糊之前复制图像两个副本,其中一个执行模糊,另一个执行高反差保留,把高反差保留后的图层放置在模糊图层的上方,然后执行柔光混合模式,这样人物的线条就更清楚些。
那么高反差保留算法本身的执行过程是如何的呢,简单的表达就是:
高反差保留 = 原始图像 - 高斯模糊图像 + 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高反差保留锐化原理和经典案例教程
第一,ps高反差保留锐化原理介绍 锐化是强化突出轮廓的过程,但不是所有模糊图像都能处理为非常清晰的效果,这一点需要明白. 高反差保留锐化方法的原理是只提取画面轮廓,而其他区域转换为灰色,再通过叠加模式 ...
- 输入参数的数目不足_机器学习算法—KMEANS算法原理及阿里云PAI平台算法模块参数说明...
概述: KMEANS算法又被成为K均值算法,是一种常用的聚类算法,由于不需要根据给定的训练集训练模型因此是一种无监督学习算法.其本质是根据选定的参数K将数据分类成K类,在聚类过程中从单一样本开始通过不 ...
- 机器学习算法原理:详细介绍各种机器学习算法的原理、优缺点和适用场景
目录 引言 二.线性回归 三.逻辑回归 四.支持向量机 五.决策树 六.随机森林 七.K-均值聚类 八.主成分分析(PCA) 九.K近邻算法 十.朴素贝叶斯分类器 十一.神经网络 十二.AdaBoos ...
- 【老生谈算法】基于matlab的运动目标识别与跟踪系统设计与算法原理及程序源码——目标识别算法
基于matlab的运动目标识别与跟踪系统设计与算法原理 大家好,今天给大家介绍基于matlab的运动目标的监测与跟踪系统设计与原理. 视频图像分析主要是对运动图像序列进行分析处理,它通常涉及到运动检测 ...
- 美颜算法原理,推荐一个开源美颜算法工具
现在各大手机制造商都在主推美颜效果,各种前后4000万像素,照亮你的美,各种逆光也清晰.其实这些看似神秘的美颜效果,除了依赖于手机像素之外,更重要的是攻城狮们对于美颜算法的构造.除了这些手机供应商,各 ...
- dijkstra算法原理_这 10 大基础算法,程序员必知必会!
来源:博客园原文地址:http://kb.cnblogs.com/page/210687/算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序n个项目要Ο(nlogn)次 ...
- otsu阈值分割算法原理_大津法---OTSU算法
简介: 大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出.从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景 ...
- 梅森旋转算法原理c语言,梅森旋转素数算法(MT199937)c语言代码
满意答案 sddzycz 2016.06.23 采纳率:42% 等级:12 已帮助:8913人 #include /*Periodparameters*/ #define N 624 #defi ...
- 【聚能聊有奖话题】今日头条公布算法原理,你认可他们的理念吗?
本话题地址,参与即可获得礼品: https://yq.aliyun.com/roundtable/63978 11 日,今日头条召开了一场旨在推动整个行业来问诊算法.建言算法的分享交流会.资深算法架构 ...
最新文章
- php微信回复乱码,php版微信公众平台回复中文出现乱码问题的解决方法
- MongoDB整库备份与还原以及单个collection备份、恢复方法
- 云湖共生,下一代数据湖来了?
- MySQL如何添加主键(PRIMARY KEY)
- SAP UI5和CRM WebUI的View和Controller是如何绑定的
- SQL语言基础:SQL语言概念知识笔记
- python_getopt解析命令行输入参数的使用
- 计算机教学难点重点,浅述如何解决小学信息技术教学中的重点、难点
- NullReferenceException C#中的异常
- Yii2性能优化之:缓存依赖
- 还敢吹「毫无PS痕迹」?小心被Adobe官方AI打脸
- 如何用R语言做词云图,以某部网络小说为例
- 4. Browser 对象 - Navigator 对象(2)
- PS如何用制作BMP 256位色非压缩图片,供Easyboot作为背景
- 私家车对PM2.5的贡献到底有多少?
- android iCloud 短信,云助手 基于安卓的iCloud
- LabVIEW2021测量和绘制滤波器的Nyquist曲线。
- python opencv pdf脚本之家_Python-OpenCV
- Quartus生成原理图
- python io
热门文章
- pytorch是什么?解释pytorch的基本概念
- 【小白】如何写好自己的一篇CSDN博客(美化1)
- Linux那些让你虎躯一震的命令
- 思科路由器命令大全(一)
- docke 安装rap_RAP2:使用docker镜像进行构建,启动部署
- 傅里叶变换并把结果保存在excel文件中
- 根据前序遍历和中序遍历的结果重建二叉树
- W ndows7系统的桌面不见了,windows7桌面音量控制键不见了怎么办(图文)
- 局域网联机_七日杀v17.2(B27)版/支持局域网联机/多项修改器/初始存档/局域网联机教程...
- SoftWare Configure