PS 给出的定义:

Enhance Per Channel Contrast:Maximizes the tonal range in each channel to produce a more dramatic correction.Because each channel is adjusted individually, Enhance Per Channel Contrast may remove or introduce color casts.The Auto Levels command uses this algorithm.

简单来说,就是对R,G,B三个通道的动态范围分别进行拉伸。这个算法还要考虑一个 clipping percentage, 默认值是 0.1%。根据这个定义,可以先编写一个拉伸动态范围的函数:

(函数中默认图像的动态范围是 0-1).

if x<x_min:  y=0;

if x>x_max:  y=1;

if x_min < x< x_max:   y=(x-x_min)/(x_max-x_min);

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

对三个通道分别进行拉伸,可以得到最终调整后的图像。

clc;
clear all;
Image=imread('8.jpg');
Image=double(Image)/255;
imshow(Image);
R=Image(:,:,1);
G=Image(:,:,2);
B=Image(:,:,3);
percent=0.001;
Image_out=Image;
Image_out(:,:,1)=F_color(R, percent);
Image_out(:,:,2)=F_color(G, percent);
Image_out(:,:,3)=F_color(B, percent);
figure, imshow(Image_out);

原图:

调整后的图:

转载于:https://www.cnblogs.com/mtcnn/p/9412727.html

PS 图像调整算法——自动色阶 (Auto Levels)相关推荐

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

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

  2. PS 图像调整算法——自动对比度 (Auto Contrast)

    PS 给出的定义: Enhance Monochromatic Contrast: Clips all channels identically. This preserves the overall ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. python 操作ps_Python实现PS图像调整黑白效果示例

    本文实例讲述了Python实现PS图像调整黑白效果.分享给大家供大家参考,具体如下: 这里用Python 实现 PS 里的图像调整–黑白,PS 里的黑白并不是简单粗暴的将图像转为灰度图,而是做了非常精 ...

  10. python黑的调白的_Python实现PS图像调整黑白效果示例

    本文实例讲述了Python实现PS图像调整黑白效果.分享给大家供大家参考,具体如下: 这里用Python 实现 PS 里的图像调整–黑白,PS 里的黑白并不是简单粗暴的将图像转为灰度图,而是做了非常精 ...

最新文章

  1. SpringCloud + Consul服务注册中心 + gateway网关
  2. Windows GPT磁盘GUID结构详解
  3. 获取ISAPI_Rewrite重写后的URL
  4. cmd c语言 文件,DSP,如何编写CMD文件!(转)
  5. 一些部署django用到的linux命令
  6. android builder布局方式,android – AlertDialog.Builder与自定义布局和EditText;无法访问视图...
  7. 看完这篇文章还能不懂Flask这种Web框架吗?
  8. Visual Studio Code 1.43 发布
  9. 1.5_insert_sort_插入排序
  10. 当程序员写不出代码了,该怎么办?
  11. 用 CSS 隐藏页面元素
  12. 非常有意思的35句话
  13. 云业务“探路” 中国联通成立产业互联网子公司
  14. 服务器机柜可放多大显示器,一个标准服务器机柜究竟能够放多少服务器
  15. 转载:《星际争霸》韩国三大Zerg点评
  16. java资源文件路径_Java 中获取资源(文件)的路径问题总结
  17. uni-app生成app的兼容性调研报告
  18. ASP.NET WebForm 回传机制
  19. Titanic 预测问题
  20. WebSocket 协议以及 Socket 接口

热门文章

  1. 适合程序员演讲的定场诗
  2. 一年总结:2016.7.9 - 2017.7.9
  3. [POJ2104] 区间第k大数 [区间第k大数,可持久化线段树模板题]
  4. UVA 993 Product of digits
  5. Kotlin生态调查结果出炉:超过6成的开发者用过Kotlin了
  6. 一周总结汇总_2016-09-25
  7. Apache Drill
  8. Service 中的 onStart 和 onStartCommand
  9. 应用层TCP三次握手及各种协议简介telnet【笔记】
  10. 教你怎样做项目开发总结报告[转]