由Photoshop高反差保留算法原理联想到的一些图像增强算法。

原地址:http://blog.csdn.net/laviewpbt/article/details/20577683

关于高反差保留的用处说明呢,从百度里复制了一段文字,我觉得写得蛮好的:

  高反差保留就是保留图像的高反差部分,再说得真白些,就是保留图像上像素与周围反差比较大的部分,其它的部分都变为灰色。拿一个人物照片来举例,反差比较大的部分有人的眼睛,嘴,以及身体轮廓。如果执行了就反差保留,这些信息将留下来(与灰色形成鲜明对比)。它的主要作用就是加强图像中高反差部分。还以人物照片为例子,一般为了使人物皮肤美观,通常需要执行模糊,执行模糊后人物的线条也被模糊了。在执行模糊之前复制图像两个副本,其中一个执行模糊,另一个执行高反差保留,把高反差保留后的图层放置在模糊图层的上方,然后执行柔光混合模式,这样人物的线条就更清楚些。

那么高反差保留算法本身的执行过程是如何的呢,简单的表达就是: 

         高反差保留 = 原始图像 - 高斯模糊图像 +
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 =
3                        Amount = 6

  更好的一种方式测试采用双边滤波器来处理,即使用双边滤波来代替上述高斯模糊的过程。

  比如用双边模糊,上述效果则更好,如下图所示。

  

  

  

           原图                          Amount =
3                       Amount = 6

不错测试这个算法使用的范围似乎不广。

测试程序下载:链接

*****************************基本上我不提供源代码,但是我会尽量用文字把对应的算法描述清楚或提供参考文档*******************************

*************************************因为靠自己的努力和实践写出来的效果才真正是自己的东西,人一定要靠自己***************************

*********************************作者: laviewpbt   时间: 2014.3.5  
联系QQ:  33184777  转载请保留本行信息************************

由Photoshop高反差保留算法原理联想到的一些图像增强算法。,布布扣,bubuko.com

时间: 2024-10-06 01:15:27

由Photoshop高反差保留算法原理联想到的一些图像增强算法。的相关文章

PoW挖矿算法原理及其在比特币、以太坊中的实现

PoW,全称Proof of Work,即工作量证明,又称挖矿.大部分公有链或虚拟货币,如比特币.以太坊,均基于PoW算法,来实现其共识机制.即根据挖矿贡献的有效工作,来决定货币的分配.? 比特币区块 ? 比特币区块由区块头和该区块所包含的交易列表组成.区块头大小为80字节,其构成包括:? 4字节:版本号 32字节:上一个区块的哈希值 32字节:交易列表的Merkle根哈希值 4字节:当前时间戳 4字节:当前难度值 4字节:随机数Nonce值? 此80字节长度的区块头,即为比特币Pow算法的输入

08-02 机器学习算法原理

目录 机器学习算法原理 一.1.1 感知机算法 1.1 1.1.1 决策函数 1.1.1 1.1.1.1 sign函数图像 1.2 1.1.2 损失函数 1.3 1.1.3 目标函数 1.4 1.1.4 目标函数优化问题 二.1.2 线性回归 2.1 1.2.1 决策函数 2.2 1.2.2 目标函数 2.3 1.2.3 目标函数优化问题 三.1.3 逻辑回归简介 3.1 1.3.1 Sigmoid函数 3.2 1.3.2 决策函数 3.3 1.3.3 损失函数 3.4 1.3.4 目标函数 3

PS 滤镜算法原理 ——马赛克

% method : 利用邻域的任意一点代替当前邻域所有像素点 %%%% mosaic clc; clear all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); Image=imread('4.jpg'); Image=double(Image); size_info=size(Image); height=size_info(1); width=size_info(2); N=11;   % 控制邻域大小

Canny边缘检测算法原理及其VC实现详解(二)

转自:http://blog.csdn.net/likezhaobin/article/details/6892629 3.  Canny算法的实现流程 由于本文主要目的在于学习和实现算法,而对于图像读取.视频获取等内容不进行阐述.因此选用OpenCV算法库作为其他功能的实现途径(关于OpenCV的使用,作者将另文表述).首先展现本文将要处理的彩色图片. 图2 待处理的图像 3.1 图像读取和灰度化 编程时采用上文所描述的第二种方法来实现图像的灰度化.其中ptr数组中保存的灰度化后的图像数据.具

Adaboost算法原理分析和实例+代码(简明易懂)

Adaboost算法原理分析和实例+代码(简明易懂) [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/70995333     本人最初了解AdaBoost算法着实是花了几天时间,才明白他的基本原理.也许是自己能力有限吧,很多资料也是看得懵懵懂懂.网上找了一下关于Adaboost算法原理分析,大都是你复制我,我摘抄你,反正我也搞不清谁是原创.有些资料给出的Adaboost实例,要么是没有代码,要么省略很多步骤,让初学者

一致性哈希算法原理

一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用. 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,memcached服务器端本身不提供分布式cache的一致性,而是由客户端来提供,具体在计算一致性has

FP Tree算法原理总结

在Apriori算法原理总结中,我们对Apriori算法的原理做了总结.作为一个挖掘频繁项集的算法,Apriori算法需要多次扫描数据,I/O是很大的瓶颈.为了解决这个问题,FP Tree算法(也称FP Growth算法)采用了一些技巧,无论多少数据,只需要扫描两次数据集,因此提高了算法运行的效率.下面我们就对FP Tree算法做一个总结. 1. FP Tree数据结构 为了减少I/O次数,FP Tree算法引入了一些数据结构来临时存储数据.这个数据结构包括三部分,如下图所示: 第一部分是一个项

分布式memcached学习(四)&mdash;&mdash; 一致性hash算法原理

    分布式一致性hash算法简介 当你看到"分布式一致性hash算法"这个词时,第一时间可能会问,什么是分布式,什么是一致性,hash又是什么.在分析分布式一致性hash算法原理之前,我们先来了解一下这几个概念. 分布式 分布式(distributed)是指在多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务. 以一个航班订票系统为例,这个航班订票系统有航班预定.网上值机.旅客信息管理.订单管理.运价计算等服务模块.现在要以集中式(集群,cluster)和分布

POJ1523(求连用分量数目,tarjan算法原理理解)

SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7406   Accepted: 3363 Description Consider the two networks shown below. Assuming that data moves around these networks only between directly connected nodes on a peer-to-peer basis, a