圆月山庄资源网 Design By www.vgjia.com
亮度调整
非线性亮度调整:
对于R,G,B三个通道,每个通道增加相同的增量。
线性亮度调整:
利用HSL颜色空间,通过只对其L(亮度)部分调整,可达到图像亮度的线性调整。但是,RGB和HSL颜色空间的转换很繁琐,一般还需要浮点数的运算,不仅增加了代码的复杂度,更重要的是要逐点将RGB转换为HSL,然后确定新的L值,再将HSL转换为RGB,运行速度可想而知是很慢的。要想提高图像亮度线性调整的速度,应该从三方面考虑,一是变浮点运算为整数运算,二是只提取HSL的L部分进行调整,三是采用汇编代码,在Delphi中,当然是BASM。下面是按照这三方面考虑写的图像亮度线性调整代码:
L := (Max(R, Max(G,B)) + Min(R, Min(G, B))) div 2;
L没有采用通常的百分比表示,而是取值0 - 255,这样就不必要采用浮点数运算了。
下面代码主要完成2个功能,一是用以前的L值与RGB分别求出其HSL的HS部分,其公式用Pascal表示为:
if L > 128 then begin rHS := (R * 128 - (L - 128) * 256) div (256 - L); gHS := (G * 128 - (L - 128) * 256) div (256 - L); bHS := (B * 128 - (L - 128) * 256) div (256 - L); end else begin rHS := R * 128 div L; gHS := G * 128 div L; bHS := B * 128 div L; end;
二是用新的L值(老的L值加需要调整的亮度值(0 - 255))和上面求出的HS值计算出新的
RGB值,计算方法为:
newL := L + Value - 128; if newL > 0 then begin newR := rHS + (256 - rHS) * newL div 128; newG := gHS + (256 - gHS) * newL div 128; newB := bHS + (256 - bHS) * newL div 128; else begin newR := rHS + rHS * newL div 128; newG := gHS + gHS * newL div 128; newB := bHS + bHS * newL div 128; end;
如此,一个像素点的线性亮度调整就基本完成了
Program: clc; clear all; close all; Image=imread('4.jpg'); Image=double(Image); R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3); %%%% 求出原始图像亮度分量 I=(R+G+B)/3; %%% 利用原始图像的亮度分量结合R,G,B求出HSL空间的H,S; rHS=R; gHS=G; bHS=B; [row, col]=size(I); for i=1:row for j=1:col if(I(i,j)>128) rHS(i,j)=(R(i,j)*128-(I(i,j)-128)*256)/(256-I(i,j)); gHS(i,j)=(G(i,j)*128-(I(i,j)-128)*256)/(256-I(i,j)); bHS(i,j)=(B(i,j)*128-(I(i,j)-128)*256)/(256-I(i,j)); else rHS(i,j)=R(i,j)*128/(I(i,j)); gHS(i,j)=G(i,j)*128/(I(i,j)); bHS(i,j)=B(i,j)*128/(I(i,j)); end end end %%%% 然后求出新的亮度值 %%%% Increment: 亮度的调整增量(-255,255) Increment=-100; I_out=I+Increment-128; %%%% 再利用新的亮度值结合H,S,求出新的R,G,B分量 R_new=R; G_new=G; B_new=B; for i=1:row for j=1:col if(I_out(i,j)>0) R_new(i,j)=rHS(i,j)+(256-rHS(i,j))*I_out(i,j)/128; G_new(i,j)=gHS(i,j)+(256-gHS(i,j))*I_out(i,j)/128; B_new(i,j)=bHS(i,j)+(256-bHS(i,j))*I_out(i,j)/128; else R_new(i,j)=rHS(i,j)+rHS(i,j)*I_out(i,j)/128; G_new(i,j)=gHS(i,j)+gHS(i,j)*I_out(i,j)/128; B_new(i,j)=bHS(i,j)+bHS(i,j)*I_out(i,j)/128; end end end Image_new(:,:,1)=R_new; Image_new(:,:,2)=G_new; Image_new(:,:,3)=B_new; imshow(Image/255); figure, imshow(Image_new/255);
总结
以上所述是小编给大家介绍的python中PS 图像调整算法原理之亮度调整 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
更新日志
2024年11月06日
2024年11月06日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]