如何將Cb、Cr影像運算 |
缺席
|
keikojason
初階會員 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
各位前輩小弟有一個問題是有關Cb、Cr運算影像問題,就是說一般影像可以取出Y,Cb,Cr,三個部份,現在想假設想要分別將Cb與Cr平方過後圖像Img2、Img3,另外cr/cb的影像Img4,並且所得到値都分佈在0~255之間,顯示處理過的Img2、Img3、Img4(Cb^2、Cr^2、cr/cb),以下是小弟收尋有關文章參考改好的,是因為Cb與Cb平方差不多,Cr也ㄧ樣,不知道那裡出了問題,看有沒有前被爲小弟解惑ㄧ下~~^^謝謝。
Graphics::TBitmap *Bmp = new Graphics::TBitmap(); Bmp->Assign(Image1->Picture->Bitmap); YBmp->Assign(Image1->Picture->Bitmap); CbBmp->Assign(Image1->Picture->Bitmap); CrBmp->Assign(Image1->Picture->Bitmap); Bmp->PixelFormat= pf24bit; YBmp->PixelFormat= pf24bit; CbBmp->PixelFormat= pf24bit; CrBmp->PixelFormat= pf24bit; int ll1,ll=0; for(int H=0;H |
sodesga
一般會員 發表:1 回覆:3 積分:0 註冊:2004-09-08 發送簡訊給我 |
|
keikojason
初階會員 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
作法可以使用 8-bit R'G'B' 轉換到 Y'CbCr
係數如下:
|Y'| | 16| | 0.257 0.504 0.098| |R'|
|Cb|=|128| + |-0.148 -0.291 0.439| * |G'|
|Cr| |128| | 0.439 -0.368 -0.071| |B'| 最後, 你將R'G'B'轉到Y'CbCr, 做了你想要的處理後...
應該還要反過來把CbCr訊號轉回到 R'G'B' 再存成圖檔
(返回運算可由上列方程式推出)
------
不要忘記呼吸,不要忘記編程! ∩__∩ |
keikojason
初階會員 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
引言: 最後, 你將R'G'B'轉到Y'CbCr, 做了你想要的處理後... 應該還要反過來把CbCr訊號轉回到 R'G'B' 再存成圖檔 (返回運算可由上列方程式推出) >>< face="Verdana, Arial, Helvetica"> 不好意思大大我還是聽不太懂你ㄉ意思~~是不是將R'G'B==>Y'CbCr==>Cb^2、Cr^2==>R'G'B==>顯示圖是這樣嗎? 那如果是這樣的話那我程式上要怎樣去修改呢?是以下這部份,還是別的地方//cbb是代表cb平方,値都在0~255之間 int cbb=(255*((cb*cb)-282.9124))/(57207.0724-282.9124); //crr是代表cr平方,値都在0~255之間 int crr=(255*((ok*ok)-889.530))/(80556.630-889.530); //ok1是代表cr/cb,値都在0~255之間 ok1=(255*((cr/cb) 0.1205))/(16.833 0.1205); |
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
keikojason你好: 在做數學運算時,一定要很注意資料型態的轉換,
1. 例如浮點數乘於整數變數後,結果只剩整數部分,小數部分都被搶棄。 0.999 變成 0, 這樣的結果差了將近1, 若用到平方就差更多。 建議這樣改 double r, g, b; double y = 0.299*r 0.587*g 0.114*b; 2. 假設y是double, 要將y值當成像素值秀出成圖時,一定要先把double轉換成 int, 如此秀出圖才會正確,不然很容易有亮點。 e.g. Yptr[W*3] = (int)y; 程式裡有很多都沒有注意這兩個環節,稍作修改應該就可以得到你想要的結果。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |