最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中PS 圖像調整算法原理之亮度調整

 更新時間:2019年06月28日 11:28:01   作者:Matrix_11  
這篇文章主要介紹了python中PS 圖像調整算法原理之亮度調整,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

亮度調整

非線性亮度調整:

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

線性亮度調整:

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

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值加需要調整的亮度值(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 圖像調整算法原理之亮度調整 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • python 獲取list特定元素下標的實例講解

    python 獲取list特定元素下標的實例講解

    下面小編就為大家分享一篇python 獲取list特定元素下標的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python 不同對象比較大小示例探討

    Python 不同對象比較大小示例探討

    不同對象比較是按照 type names 比較,當相同類型對象不支持適當比較的時候,采用 address 比較,需要的朋友可以參考下
    2014-08-08
  • Python Pandas describe()函數(shù)的使用詳解

    Python Pandas describe()函數(shù)的使用詳解

    pandas庫中的describe()函數(shù)為我們提供了這樣的功能,它可以快速生成數(shù)據(jù)集的描述性統(tǒng)計信息,這篇文章主要介紹了Python Pandas describe()函數(shù)的使用介紹,需要的朋友可以參考下
    2024-05-05
  • python實現(xiàn)的批量分析xml標簽中各個類別個數(shù)功能示例

    python實現(xiàn)的批量分析xml標簽中各個類別個數(shù)功能示例

    這篇文章主要介紹了python實現(xiàn)的批量分析xml標簽中各個類別個數(shù)功能,涉及Python針對xml文件的遍歷、讀取、解析等相關操作技巧,需要的朋友可以參考下
    2019-12-12
  • python實現(xiàn)將文件夾內的每張圖片批量分割成多張

    python實現(xiàn)將文件夾內的每張圖片批量分割成多張

    這篇文章主要為大家詳細介紹了python實現(xiàn)將文件夾內的每張圖片批量分割成多張,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Pycharm調試程序技巧小結

    Pycharm調試程序技巧小結

    這篇文章主要介紹了Pycharm調試程序技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 如何在Python?中使用?join()?函數(shù)把列表拼接成一個字符串

    如何在Python?中使用?join()?函數(shù)把列表拼接成一個字符串

    這篇文章主要介紹了如何在Python?中使用?join()?函數(shù)把列表拼接成一個字符串,文章圍繞?join()?函數(shù)的相關資料展開詳細內容,需要的小伙伴可以參考一下,希望對你有幫助
    2022-03-03
  • 初步解析Python下的多進程編程

    初步解析Python下的多進程編程

    這篇文章主要介紹了初步解析Python下的多進程編程,使用多進程編程一直是Python編程當中的重點和難點,需要的朋友可以參考下
    2015-04-04
  • 將python運行結果保存至本地文件中的示例講解

    將python運行結果保存至本地文件中的示例講解

    今天小編就為大家分享一篇將python運行結果保存至本地文件中的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Pycharm技巧之代碼跳轉該如何回退

    Pycharm技巧之代碼跳轉該如何回退

    用Pycharm寫Python代碼有一段時間了,最近發(fā)現(xiàn)了一個Pycharm的一個小技巧想分享給大家,下面這篇文章主要給大家介紹了關于Pycharm代碼跳轉該如何回退的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07

最新評論

天长市| 抚州市| 万州区| 遵义县| 杂多县| 布尔津县| 扎兰屯市| 舒城县| 桐梓县| 多伦县| 红原县| 乌苏市| 应城市| 西贡区| 鄂伦春自治旗| 炎陵县| 台中县| 博爱县| 兴国县| 辰溪县| 达州市| 论坛| 镇坪县| 海南省| 天门市| 区。| 平潭县| 辽阳市| 蒲江县| 饶阳县| 射阳县| 方城县| 泸溪县| 酒泉市| 东乡县| 平湖市| 新巴尔虎左旗| 颍上县| 新营市| 四子王旗| 伽师县|