`

PhotoShop -光影魔术手补光的原理

    博客分类:
  • PS
PS 
阅读更多
之前经常使用光影魔术手3的补光操作,那么,其补光的原理是什么呢?

老规矩,先上结论
    光影魔术手的补光相当于调整曲线操作,曲线映射关系如下:




连续补光两次,曲线如下:



有时,我会先补光两次,再调整一下gamma值,其曲线如下:



附上补光的映射表的matlab函数封装:

function y=BuGuangTable(x)
% 光影魔术手的补光映射表
% Input:
%       x: 整数,x \in [0, 255]
% Output:
%       y:整数,y \in [0, 255]

y_uint8=[0,2,3,5,6,8,10,11,13,14,16,18,19,21,22,23,25,27,28,30,31,32,33,35,36,38,39,41,42,44,45,46,47,49,51,52,53,55,56,57,59,60,62,63,64,65,67,68,70,71,71,73,75,76,77,78,79,81,82,83,84,86,87,88,89,91,92,93,94,95,97,98,99,100,101,102,104,105,106,107,109,109,110,112,113,114,115,116,117,118,120,120,122,123,124,125,126,127,127,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,144,145,145,146,147,148,149,150,151,152,153,154,155,156,156,157,158,159,160,161,162,163,164,164,166,166,167,168,169,170,171,171,173,173,174,175,176,176,178,178,179,180,181,181,182,182,183,183,184,185,185,186,186,187,188,188,189,190,190,191,192,192,193,193,194,195,195,196,197,197,198,199,199,200,201,201,202,203,203,204,205,205,206,207,207,208,209,210,210,211,212,213,213,214,215,215,216,217,218,218,219,220,221,222,222,223,224,225,226,227,227,228,229,230,231,231,232,233,234,235,236,237,238,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,255];
y=y_uint8(x+1);
end



% 测试光影魔术手补光的响应曲线
%%生成测试图像

imr1=0:255;
imr2=[1:255 0];
imr3=255:-1:0;

im=[imr1; imr1; imr2;imr2; imr3;imr3];
im=uint8(im);
imwrite(im,'gray.bmp'); %为了保证像素值不因为jpg的压缩而改变,这里使用bmp格式

%% 验证光影魔术手的补光操作只是一个灰度映射操作;
%需要先用 光影魔术手对'gray.bmp'补光后存为'grayDisposed.bmp'

imDisposed=imread('grayDisposed.bmp');
imDG=imDisposed(:,:,1);

all(imDG(1,:)==imDG(2,:))
all(imDG(3,:)==imDG(4,:))
all(imDG(5,:)==imDG(6,:))

all(imDG(2,:)==[imDG(3,end)  imDG(3,1:end-1)])

r2Equal_r5=all(imDG(2,:)==imDG(5,end:-1:1) )



%%  绘制光影魔术手补光的响应曲线
modeName='光影魔术手补光';

x=linspace(0,1,256);
y_uint8=imDG(1,:);
y=double(y_uint8)/255;


figure1 = figure;
axes1 = axes('Parent',figure1,'YTick',0:.1:1,'XTick',0:.1:1,...
    'PlotBoxAspectRatio',[1 1 1],...
    'DataAspectRatio',[1 1 1]);
% xlim(axes1,[0 1]);
% ylim(axes1,[0 1]);
grid on
box(axes1,'on');
hold(axes1,'all');

plot(x,y,'Parent',axes1,'LineWidth',3,'Color',[1 0 0], 'DisplayName',modeName);
plot(x,x,'Parent',axes1,'LineWidth',2,'LineStyle','--', 'DisplayName','正常模式');

xlabel('补光前的灰度值','FontSize',16);
ylabel('补光后的灰度值','FontSize',16);
title([modeName ' 响应曲线'],'FontSize',16);
legend1 = legend(axes1,'show');
set(legend1,'Location','SouthEast');
% clear all

%%
modeName='光影魔术手补光2次';

x=linspace(0,1,256);

y=BuGuangTable(BuGuangTable(0:255))/255;

figure1 = figure;
axes1 = axes('Parent',figure1,'YTick',0:.1:1,'XTick',0:.1:1,...
    'PlotBoxAspectRatio',[1 1 1],...
    'DataAspectRatio',[1 1 1]);
% xlim(axes1,[0 1]);
% ylim(axes1,[0 1]);
grid on
box(axes1,'on');
hold(axes1,'all');

plot(x,y,'Parent',axes1,'LineWidth',3,'Color',[1 0 0], 'DisplayName',modeName);
plot(x,x,'Parent',axes1,'LineWidth',2,'LineStyle','--', 'DisplayName','正常模式');

xlabel('补光前的灰度值','FontSize',16);
ylabel('补光后的灰度值','FontSize',16);
title([modeName ' 响应曲线'],'FontSize',16);
legend1 = legend(axes1,'show');
set(legend1,'Location','SouthEast');

%%
modeName='补光2次, 参数为1.2的gamma校正一次';

x=linspace(0,1,256);

y=BuGuangTable(BuGuangTable(0:255))/255;
% y=BuGuangTable(0:255)/255;
y=y.^1.2;

figure1 = figure;
axes1 = axes('Parent',figure1,'YTick',0:.1:1,'XTick',0:.1:1,...
    'PlotBoxAspectRatio',[1 1 1],...
    'DataAspectRatio',[1 1 1]);
% xlim(axes1,[0 1]);
% ylim(axes1,[0 1]);
grid on
box(axes1,'on');
hold(axes1,'all');

plot(x,y,'Parent',axes1,'LineWidth',3,'Color',[1 0 0], 'DisplayName',modeName);
plot(x,x,'Parent',axes1,'LineWidth',2,'LineStyle','--', 'DisplayName','正常模式');

xlabel('补光前的灰度值','FontSize',16);
ylabel('补光后的灰度值','FontSize',16);
title([ modeName ' 响应曲线'],'FontSize',16);
legend1 = legend(axes1,'show');
set(legend1,'Location','SouthEast');



完整代码、图片见附件~
  • 大小: 11.6 KB
  • 大小: 11.6 KB
  • 大小: 11.3 KB
分享到:
评论

相关推荐

    绿色看图工具------光影魔术手

    光影魔术手是一款在中国深受用户喜爱的绿色看图工具,它以其简单易用、功能全面的特点在图像处理领域占据了一席之地。"绿色软件"的标签意味着它无需安装,下载解压后即可直接运行,不占用系统资源,也不会在电脑上...

    photoshop-cc-javascript-ref-2015.pdf

    Photoshop CC JavaScript参考指南2015版是一个深入学习如何使用JavaScript进行Photoshop自动化操作的重要资源。这本教程旨在帮助用户提升工作效率,通过编写脚本来自动化复杂的图像编辑任务,节省手动操作的时间。...

    Auto-Photoshop-StableDiffusion-插件安装使用教程

    借助 Auto-Photoshop-StableDiffusion-Plugin,您可以直接在 Photoshop 中使用 Automatic1111 Stable Diffusion 的功能,而无需在程序之间切换。这使您可以在熟悉的环境中轻松使用 Stable Diffusion AI。您可以使用...

    photoshop-cc-javascript-ref-2019.pdf

    《Adobe Photoshop CC JavaScript脚本编程参考》是针对Adobe Photoshop CC的详细编程指南,专注于使用JavaScript进行自动化和扩展功能。此文档适用于Windows和Macintosh平台,是2019年版,由Adobe公司发布并保留所有...

    Photoshop-CS6-JavaScript.zip

    2. **Photoshop对象模型**:JavaScript在Photoshop中的工作原理是通过与Photoshop的对象模型交互。对象模型包含了所有可以操作的元素,如文档、图层、选区等。了解这些对象及其属性和方法是编写有效脚本的关键。 3....

    相片处理的好助手---光影魔术手

    光影魔术手是一款强大的照片编辑和处理软件,专为日常摄影爱好者设计,提供了丰富的功能来满足各种照片修饰需求。它的易用性和高效性使得它成为许多用户处理相片的首选工具,即使与专业级别的软件如PHOTOshop相比,...

    photoshop-cc-javascript参考2019

    Photoshop CC JavaScript参考2019是一个针对Adobe Photoshop CC的编程指南,主要聚焦于使用JavaScript进行脚本开发,以实现自动化工作流程、增强用户界面(UI)以及扩展软件功能。JavaScript在Photoshop中的应用是...

    photoshop-javscript-脚本指南2019

    Photoshop JavaScript 脚本指南2019是Adobe Photoshop CC的一个重要参考资料,它深入讲解了如何使用JavaScript语言来自动化和扩展Photoshop的功能。在现代设计工作中,掌握JavaScript脚本能力能够极大地提升工作效率...

    photoshop-cc-javascript.rar

    photoshop-cc-scripting-guide-2015.pdf ; photoshop-cc-scripting-guide-2019.pdf; photoshop-javascript-ref-2020.pdf; photoshop-scripting-guide-2020.pdf。

    PhotoshopV1.0.1源码[photoshop-v.1.0.1-source-code]

    Thomas Knoll ,早期photoshop的主要设计师,Photoshop最初是由Thomas Knoll(汤马斯·诺尔)和John Knoll(约翰·诺尔)这对兄弟于1987年制作的,但直到1990年后,这个软件才由Adobe公司首次发布。 这里面内涵很大...

    photoshop-cc-scripting-guide-2015.pdf

    接着,指南会逐步引导读者了解如何访问Photoshop的对象模型,这是理解脚本工作原理的关键。对象模型代表了Photoshop中的所有元素,如文档、图层、选区等,通过JavaScript,开发者可以直接操作这些对象,实现自定义...

    photoshop-applescript-ref-2020

    Photoshop Applescript 参考指南2020:深入理解和应用 Photoshop Applescript 是Adobe Photoshop软件中的一种脚本语言,它允许用户通过AppleScript来自动化复杂的图像编辑任务,大大提高工作效率。2020版的参考指南...

    光影魔术手便携版4.2.2中文绿色免费版

    很多不会用photoshop的人都喜欢光影魔术手,它对照片的修改立竿见影且操作傻瓜化。今天介绍的这个Photoscape号称是国外的“光影魔术手”,你不需要花费太多的时间,就能轻松制作专业级的画面效果。 Photoscape 是一...

    Photoshop-CS6-JavaScript-Ref

    《Photoshop CS6 JavaScript 脚本参考指南》是一份由Adobe Systems Incorporated出版的专业文档,旨在为使用Adobe Creative Suite 6中的Photoshop软件进行JavaScript脚本编程的用户提供全面的指导和参考。...

    photoshop-cc-vbscript.rar

    photoshop_scriptref_vbs-cc2014.pdf; photoshop-cc-vbs-ref-2015.pdf; photoshop-cc-vbs-ref-2019.pdf; photoshop-vbs-ref-2020.pdf。

    Photoshop-CS中文版技能教程第章-Photoshop-CS-GIF动画制作完整版资料.ppt

    "Photoshop-CS中文版技能教程第章-Photoshop-CS-GIF动画制作完整版资料.ppt" 本资源主要介绍了Photoshop CS3中文版的GIF动画制作教程,涵盖了GIF动画的初识、帧的传播特性、过渡、使用各种方法制作动画、GIF动画的...

    光影魔术手免安装

    "光影魔术手免安装"是一款深受用户喜爱的图像处理软件,尤其适合摄影爱好者进行图片后期制作。这款软件无需正式安装,可以直接运行,极大地方便了用户的使用。在提供的压缩包文件中,我们可以看到一系列与光影魔术手...

    图片处理工具 光影魔术手

    光影魔术手是一款非常受欢迎的中文图片处理软件,尤其适合初级和中级用户使用。它以其简单易用、功能丰富和占用系统资源少而受到广大用户的喜爱。在这个标题为“图片处理工具 光影魔术手”的讨论中,我们将深入探讨...

Global site tag (gtag.js) - Google Analytics