PS 给出的定义:

Enhance Monochromatic Contrast: Clips all channels identically. This preserves the overall color relationship while making highlights
appear lighter and shadows appear darker. The Auto Contrast command uses this algorithm.

和自动色阶不一样的地方在于,自动对比度不是三个通道分别调整,而是三个通道同时调整,可以先获取图像的亮度信息,然后根据 clipping percentage 对亮度进行动态范围的拉伸,根据拉伸前后亮度的比率,可以同比例调整R,G,B 三个通道,这样调整的图像不会出现色偏的问题。

先拉伸亮度的动态范围,可以借用自动色阶里的函数。

function I_out=F_color(I, percent)

%%% the tonal range of the input image is 0-1.

[row, col]=size(I);

I_sort=sort(I(:));

I_out=I;

%%% based on the clipping percentage, 

%%% compute the upper and lower boundaries 

if (percent==0)

    I_min=min(I_sort)

    I_max=max(I_sort)

else

    I_min=I_sort(floor(row*col*percent))

    I_max=I_sort(floor(row*col*(1-percent)))

end



for i=1:row

    for j=1:col

            if(I(i,j)<I_min)

                I_out(i,j)=I_min;

            elseif(I(i,j)>I_max)

                I_out(i,j)=1;

            else

                I_out(i,j)=(I(i,j)-I_min)*(1-I_min)/(I_max-I_min)+I_min;

            end

    end 

end

利用拉伸前后亮度的比率,同比例调整R,G,B三个通道。

clc;

clear all;

Image=imread('8.jpg');

Image=double(Image)/255;

imshow(Image);

R=Image(:,:,1);

G=Image(:,:,2);

B=Image(:,:,3);

I=R*0.2989+G*0.5871+0.1140*B;

I=I/(max(I(:)));

percent=0.001;

I_out=F_color(I, percent);

delta=0.0001;

K=(I_out+delta)./(I+delta);

Image_out(:,:,1)=R.*K;

Image_out(:,:,2)=G.*K;

Image_out(:,:,3)=B.*K;

figure, imshow(Image_out);

原图:

调整后的图:

PS 图像调整算法——自动对比度 (Auto Contrast)的更多相关文章

  1. PS 图像调整算法——阈值

    PS里面这个算法,先将图像转成灰度图像,然后根据给定的阈值,大于该阈值的像素赋值为1,小于该阈值的赋值为0. if x>T, x=1; if x<T, x=0; 原图: 效果图:阈值为 1 ...

  2. PS 图像调整算法——自动色阶 (Auto Levels)

    PS 给出的定义: Enhance Per Channel Contrast:Maximizes the tonal range in each channel to produce a more d ...

  3. PS 图像调整算法——黑白

    这个算法是参考自 阿发伯 的博客: http://blog.csdn.net/maozefa 黑白调整 Photoshop CS的图像黑白调整功能,是通过对红.黄.绿.青.蓝和洋红等6种颜色的比例调节 ...

  4. PS 图像调整算法——饱和度调整

    算法参考自 阿发伯 的博客. http://blog.csdn.net/maozefa 饱和度调整 图像的饱和度调整有很多方法,最简单的就是判断每个象素的R.G.B值是否大于或小于128,大于加上调整 ...

  5. PS 图像调整算法— —渐变映射

    这个调整简单来说就是先建立一张lookup table, 然后以图像的灰度值作为索引,映射得到相应的颜色值.图像的灰度值是由图像本身决定的,但是lookup table 却可以各种各样,所以不同的lo ...

  6. PS 图像调整算法——色调分离

    色调分离的原理就是将R, G, B每个通道 0-255 的色调区间进行强制划分到给定的区间里去,所以色调会合并,最终的图像看起来颜色就是一块一块的. clc; clear all; close all ...

  7. PS 图像调整算法——亮度调整

    这个算法是参考自 阿发伯 的博客,在此对 阿发伯 表示感谢, http://blog.csdn.net/maozefa 亮度调整 非线性亮度调整: 对于R,G,B三个通道,每个通道增加相同的增量. 线 ...

  8. PS 图像调整算法——反相

    这个顾名思义,对图像做减法. Image_new=1-Image_old; 原图: 反相:

  9. Python: PS 图像调整--饱和度调整

    本文用 Python 实现 PS 图像调整中的饱和度调整算法,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...

随机推荐

  1. activiti实战系列 并行网关(parallelGateWay)

    流程图 13.2:部署流程定义+启动流程实例 13.3:查询我的个人任务 13.4:完成我的个人任务 说明: 1) 一个流程中流程实例只有1个,执行对象有多个 2)  并行网关的功能是基于进入和外出的 ...

  2. [python]mysql数据缓存到redis中 取出时候编码问题

    描述: 一个web服务,原先的业务逻辑是把mysql查询的结果缓存在redis中一个小时,加快请求的响应. 现在有个问题就是根据请求的指定的编码返回对应编码的response. 首先是要修改响应的bo ...

  3. Vibrator控制手机震动

    Vibrator控制手机震动 效果图 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9049755 添加权限 & ...

  4. Android存储之SharedPreferences

    Android数据存储之SharedPreferences SharedPreferences对象初始化 SharedPreferences mSharedPreferences = getShare ...

  5. Linux系统调用的实现机制分析

    API/POSIX/C库的关系        系统调用的实现 3.1    系统调用处理程序 添加新系统调用 给Linux添加一个新的系统调用是件相对容易的工作.怎样设计和实现一个系统调用是难题所在, ...

  6. Android开发学习之路--百度地图之初体验

    手机都有gps和网络,通过gps或者网络可以定位到自己,然后通过百度,腾讯啊之类的地图可以显示我们的地理位置.这里学习下百度地图的使用.首先就是要申请开发者了,这个详细就不多讲了.http://dev ...

  7. python脚本程序,传入参数*要用单引号'*'

    *号作为python脚本的传入参数时,必须用单引号'',才能正确传入.如python test.py 2014 '*' age python test.py 2014 * age是错误的. 比如 te ...

  8. 【VSTS 日志】TFS 2015 Update 1 发布 – Git和TFVC代码库可以混合使用了

    Visual Studio Team Foundation Server 2015 Update 1已经发布了. 这是 Team Foundation Server (TFS) 的最新版本,是 Mic ...

  9. Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案

    Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时 ...

  10. OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据

    OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据 我们这片博文就来聊聊这个反响很不错的OkHttp了,标题是我恶搞的,本篇将着重详细的 ...