Re: [問題] 關於RGB轉灰階的程式碼問題
看板C_and_CPP (C/C++)作者devilrucifer (devilrucifer)時間16年前 (2009/04/09 15:06)推噓0(0推 0噓 2→)留言2則, 2人參與討論串4/5 (看更多)
※ 引述《VictorTom (鬼翼&娃娃魚)》之銘言:
: ※ 引述《devilrucifer (devilrucifer)》之銘言:
: : 各位板大好:
: : 小弟因為最近剛開始學影像處理,所以有很多東西不懂,
: : 在此想請教一下各位先進關於灰階轉換的問題,常見的兩種的算式
: : Gray=(B*28+G*151+R*77)/256
: : OR
: : gray=R*0.299+G*0.587+B*0.114
: 理論上, 後面這個比較精確, 常見的做法還會加一個四捨五入的0.5
: 但是, 在CPU上, 甚至一些embbed system, 前者會算的比較快....
: 有一個折衷的方案是:
: gray = (R*299 + G*587 + B*114 + 500) / 1000;
不好意思我在請問一下一個問題,
請問這一邊加0.5四捨五入的用意是什麼呢?
是怕數值超過255嗎?
小弟是試過有加跟沒加都可以正常執行,
也看過有人沒加0.5而是在後面追加
if(gray>255)gray=255;
if(gray<0)gray=0;
請問這幾個在執行上有甚麼差異嗎?
在此先謝謝各位版友。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.74.245.166
→
04/09 20:01, , 1F
04/09 20:01, 1F
→
04/12 00:01, , 2F
04/12 00:01, 2F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章