亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python中PS 圖像調(diào)整算法原理之亮度調(diào)整

系統(tǒng) 2212 0

亮度調(diào)整

非線性亮度調(diào)整:

對于R,G,B三個通道,每個通道增加相同的增量。

線性亮度調(diào)整:

利用HSL顏色空間,通過只對其L(亮度)部分調(diào)整,可達到圖像亮度的線性調(diào)整。但是,RGB和HSL顏色空間的轉(zhuǎn)換很繁瑣,一般還需要浮點數(shù)的運算,不僅增加了代碼的復(fù)雜度,更重要的是要逐點將RGB轉(zhuǎn)換為HSL,然后確定新的L值,再將HSL轉(zhuǎn)換為RGB,運行速度可想而知是很慢的。要想提高圖像亮度線性調(diào)整的速度,應(yīng)該從三方面考慮,一是變浮點運算為整數(shù)運算,二是只提取HSL的L部分進行調(diào)整,三是采用匯編代碼,在Delphi中,當然是BASM。下面是按照這三方面考慮寫的圖像亮度線性調(diào)整代碼:

            
L := (Max(R, Max(G,B)) + Min(R, Min(G, B))) div 2;
          

L沒有采用通常的百分比表示,而是取值0 - 255,這樣就不必要采用浮點數(shù)運算了。

下面代碼主要完成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值加需要調(diào)整的亮度值(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;
          

如此,一個像素點的線性亮度調(diào)整就基本完成了

            
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;
%%% 利用原始圖像的亮度分量結(jié)合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: 亮度的調(diào)整增量(-255,255)
 Increment=-100;
 I_out=I+Increment-128;
%%%% 再利用新的亮度值結(jié)合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);
          

總結(jié)

以上所述是小編給大家介紹的python中PS 圖像調(diào)整算法原理之亮度調(diào)整 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 337p色噜噜人体大胆欧美 | 青青草a免费线观a | 国产亚洲精品久久午夜 | 在线中文字幕视频 | www.久久| 欧美级毛片 | 日本黄色录像视频 | 精品一区二区三区影片 | 国内精品自在自线香蕉 | 免费一级特黄a | 5g国产精品影院天天5g天天爽 | 一级毛片在线观看免费 | 亚洲成人性视频 | 日本高清毛片视频在线看 | 亚洲黄色自拍 | 国产精品一二区 | 久草性视频| 亚洲国产99在线精品一区69堂 | 毛片在线观看网站 | 天天插天天操天天射 | 男女一级毛片免费播放 | 伊人色综合久久天天网蜜月 | 日产国语一区二区三区在线看 | 香蕉网站在线观看 | 欧美乱大交xxxxx在线观看 | www.国产一区二区三区 | 九天玄帝诀在线观看 | 99激情网 | 国产精品免费看久久久麻豆 | 日韩永久免费进入2015 | 激情综合色综合久久综合 | 欧美一区亚洲 | 日本在线观看永久免费网站 | 男女污污在线观看 | 69福利网 | 97精品在线观看 | 97在线资源站 | 国产成人综合网亚洲欧美在线 | 九九热在线视频观看这里只有精品 | 久久国产亚洲高清观看5388 | 国内久久精品 |