線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1125
推到 Plurk!
推到 Facebook!

影像處理函式的原理 ( Darker & Lighter )??

答題得分者是:richtop
peipei
一般會員


發表:3
回覆:5
積分:1
註冊:2004-09-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-21 03:25:07 IP:163.28.xxx.xxx 未訂閱
各位先進大家好~ 我初次來此發問問題尋求指導! 希望有熟影像處理程式方面的大哥&大姐 能與我解惑~~ 以下是兩個處理函數 功能將是用來調整影像的亮度 //-------------------------------------------- void Image::bmp_darker() //影像變暗 { int i; for(i=0;i< width * height ; i ) { if( *(img i) < 150 ) *(img i) = *(img i)*0.8; else *(img i) = ((*(img i)-150)*1.28) 120; } } //-------------------------------------------- void Image::bmp_lighter() //影像變亮 { int i; for(i=0;i< width * height ; i ) { if( *(img i) < 150 ) *(img i) = *(img i)*1.2; else *(img i) = ((*(img i)-150)*0.71) 180; } } //------------------------------------------------------------------ 我不太明瞭為何影像變暗與變亮兩者 所運用的計算方式或是原理?? 有誰可以理解嗎?? 方可給我指點迷津嚕~~ 謝謝!!
hauhan
一般會員


發表:11
回覆:9
積分:4
註冊:2004-07-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-21 09:37:50 IP:211.72.xxx.xxx 未訂閱
小弟以前作遊戲的所以略知一二,我說說我的認知給你參考一下 一個圖像是由許多的Pixel所組成 例如一張圖的大小是128x256則代表 寬X高=全部的點(Pixel)數量 128x256=32768(Pixel) 所以你下方的程式 for(i=0;i< width * height ; i++) 就是針對每一個Pixel作處理的動作。 若是格式為RGB則每個Pixel大小為3Bytes 若是RGBA則每 個Pixel大小為4Bytes。    實際圖的大小=Pixel的總數*每個Pixel的大小+圖檔的檔頭資訊。    每個顏色的亮度 Red=0-255(越大越亮) Green=0-255(越大越亮) Blue=0-255(越大越亮) Alpha=0-255(越大越不透明) 不過我比較不懂得是照理說每一個Pixel應該包含RedGreenBlue(Alpha)的顏色 (不過也不一定還是要看圖的格式決定是不是有,灰階就有可能沒有) 而你的程式看起來只有對第一個Byte(每個Pixel也好像只有一個Byte)作動作 大概你的圖是0-255的灰階圖吧...    if( *(img+i) < 150 ) <==這裡好像怪怪的應該是 *(img+i) > XXX 才對吧。 *( >
peipei
一般會員


發表:3
回覆:5
積分:1
註冊:2004-09-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-21 18:51:37 IP:203.71.xxx.xxx 未訂閱
感謝hauhan詳細的回覆~    我單純是以256灰階影像作處理對象.    //影像變暗 若影像某一點灰階值<150,此點灰階值*0.8(結果最大灰階值不會超過120),反之灰階值>=150,此點灰階值介於120~254,(將150和255代入可得知),其目的就是要使某一點計算後的灰階值比原來的灰階值還要小,如此處理後整張影像的亮度就會降低囉!(影像變亮照上述方式推演)
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-21 21:42:22 IP:140.129.xxx.xxx 未訂閱
peipei 您好:    我對這個有趣的問題有一個解釋,提出供大家參考。 正常情況下,當實作將亮度變暗或變亮,直覺的是: 希望亮度變暗,乘一個小於
peipei
一般會員


發表:3
回覆:5
積分:1
註冊:2004-09-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-22 00:17:26 IP:163.28.xxx.xxx 未訂閱
RichTop你好:    真謝謝你的詳解~~< > 正是我所疑惑的問題嚕! 仔細思考後... 讓我更明白些了! 好開心喔!! < >
系統時間:2024-05-15 13:45:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!