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

以下是關於色彩轉換的問題

答題得分者是:ikk
andyshooter
一般會員


發表:6
回覆:10
積分:3
註冊:2009-04-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-10 15:11:41 IP:125.224.xxx.xxx 訂閱
double YIQ[3][3]={{0.114,0.587,0.299},{-0.312,-0.275,0.596},{0.311,-0.523,0.212}};
double YCrCb[3][3]={{0.114,0.587,0.299},{-0.114,-0.587,0.701},{0.886,-0.587,-0.299}};
double BGR[3][3]={{1,0,0},{0,1,0},{0,0,1}};
double tran[3][3];
double sum,sum1,sum2,sum3;
Byte *ptr,ptr1;
Byte *aptr1;
int pix,x,y,i,j;
int type1,type2;

Q1: tran[i][j] = YIQ[i][j];指的是tran[0][0] = YIQ[0][0]作到tran[3][3] = YIQ[3][3]嗎?我看不懂它是怎麼走的?
for(int i = 0 ; i <= 2 ; i )
{
for(int j = 0 ; j <= 2 ; j )
{
tran[i][j] = YIQ[i][j];
}
}

Q2:這邊的sum指的是什麼? tran[i][j] * ptr[pix]是什麼意思?
if(j==0)
{
sum = (double)tran[i][j] * ptr[pix];
if (sum < 0)
sum = 0 ;
if (sum > 255)
sum =255;
}

Q3: pBitmap->Palette = tempBitmap->Palette這句是只把變數丟到暫存去的意思嗎?

Q4:既然Pix=cp*x 那為什麼aptr1[3*x] = ptr[cp*x];中的cp*x我用cp*x去取代掉的時候”RGB分離”只會分離出紅藍綠三種顏色,而不是原圖的RGB呢?


以上是我的問題
還請各位大大幫我解答
ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-14 08:49:39 IP:163.28.xxx.xxx 訂閱
Q1: 就是把YIO裡的資料複製至tran.
Q2: tran[i][j] * ptr[pix] 就是把tran裡的每個資料取出, 再乘上ptr[pix],
至於為什麼要這麼作, 要問原作者吧.
Q3: 它只是讓pBitmap與tempBitmap使用同一種調色盤.
Q4: RGB不是就紅綠籃三色嗎?
------
FPGA驗證, FPGA開發平台, http://smims.com
系統時間:2024-04-26 0:01:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!