摘要:本文主要向大家介绍了Photoshop入门学习之PS 图像调整算法——自动色阶 (Auto Levels),通过具体的内容向大家展现,希望对大家Photoshop入门学习有所帮助。
本文主要向大家介绍了Photoshop入门学习之PS 图像调整算法——自动色阶 (Auto Levels),通过具体的内容向大家展现,希望对大家Photoshop入门学习有所帮助。
<
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);
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注常用软件Photoshop频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号