如何合併Cb與Cr顯示圖像 |
尚未結案
|
keikojason
初階會員 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
請問前輩一般圖像可以分為R,G,B再把他轉成Y,Cb,Cr,如果只要呈現Cb與Cr合併的影像,不要有Y那要怎樣用呢?,因為想要將Cb,Cr部份影像先作處理,到最後才要將以下程式是將Y,Cb,Cr分別出來:那要怎麼修改,是要把Cb&&Cr起來在顯示圖嘛?還是要用另一種的宣告?請前輩指教~~~初學者留
Graphics::TBitmap *YBmp = new Graphics::TBitmap(); Graphics::TBitmap *CbBmp = new Graphics::TBitmap(); Graphics::TBitmap *CrBmp = new Graphics::TBitmap(); YBmp->Assign(Image1->Picture->Bitmap); CbBmp->Assign(Image1->Picture->Bitmap); CrBmp->Assign(Image1->Picture->Bitmap); for(int i=0;i |
keikojason
初階會員 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
除了以上的問題以外,再請問前輩如果要在一張圖像中要找到可能是眼睛的部分,那要怎樣處理啊~~想說人們眼睛大多是黑色與白色,就將Y,Cb,Cr設為0,0,0或255,255,255,不過用上面那個基本程式部分改為以下程式還是取不出來,再怎麼樣也應該多多少少部分有白色,不過一整張不是全白就是全黑,請問要怎樣處理呢??
if(cr==0&&cb==0&&y==0) //像似眼睛部分為白色 { y=255,cr=255,cb=255; ptr[j*3]=y; ptr[j*3 1]cr; ptr[j*3 2]cb; } else { y=0,cr=0,cb=0; //不是部份為黑色 ptr[j*3]=y; ptr[j*3 1]cr; ptr[j*3 2]cb; } |
arisaka_matsuri
高階會員 發表:25 回覆:205 積分:231 註冊:2003-10-19 發送簡訊給我 |
dear keikojason:
引言:請問前輩一般圖像可以分為R,G,B再把他轉成Y,Cb,Cr,如果只要呈現Cb與Cr合併的影像,不要有Y那要怎樣用呢?呃......該說啥呢?因為Cb、Cr是轉換出來的資料,所以合併顯示???其實沒有意義吧!如果要顯示出來,通常是把Cb、Cr單獨用灰階來表示,就像你程式中這樣: Cbptr[j*3] =cb; Cbptr[j*3 1]=cb; Cbptr[j*3 2]=cb; Crptr[j*3] =cr; Crptr[j*3 1]=cr; Crptr[j*3 2]=cr;如果要合併顯示,那那那........真的不知道該說啥了~ 題外話~ 引言:【把Cb&&Cr起來】 //Image5->Picture->Assign((*CrBmp)&&(*CbBmp)); <==不過這樣宣告有問題也不是這樣寫,會錯是一定的~ 另外,你提到 引言:如果要在一張圖像中要找到可能是眼睛的部分,那要怎樣處理啊~~想說人們眼睛大多是黑色與白色,就將Y,Cb,Cr設為0,0,0或255,255,255基本上觀念就有錯。因為黑與白在YCbCr下不是(0,0,0)跟(255,255,255),你把它跟RGB color space的表示搞混了,請自行驗算~~順便提一下,眼睛的找法如果是用顏色當條件,保證沒辦法找!建議你找找相關的論文吧~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |