[問題] openCV中的IplImage結構
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
我想將AVI檔用cvCaptureFromAVI() 讀入,再將數值存入2維陣列後輸出
當frame寬度為4的倍數時,顯示皆正常,如果不是則歪斜,我知道它會
做補齊的動作,我的frame->align=4 frame->width=318 但我的
frame->widthstep 居然是954... 它的row不是會補齊為4的倍數嗎?
如果不會那為何我的圖片會歪斜?
希望得到的正確結果:
正常得播放圖片
程式跑出來的錯誤結果:
圖片有歪斜
開發平台: (例: VC2008, Windows)
有問題的code: (請善用置底文標色功能)
for(int i=0;i<H;i++) //copy frame to matrix
{
for(int j=0;j<W;j++)
{
imgbuf->r2[H-i-1][j]=(unsigned char)frame->imageData[i*frame->widthStep
+j*3]; //B
imgbuf->r1[H-i-1][j]=(unsigned char)frame->imageData[i*frame->widthStep
+j*3+1]; //G
imgbuf->r0[H-i-1][j]=(unsigned char)frame->imageData[i*frame->widthStep
+j*3+2]; //R
}
}
for(int i=0;i<H;i++) // write value of matrix to frame
{
for(int j=0;j<W;j++)
{
frame->imageData[i*frame->widthStep+j*3]=(char)imgout->r2[H-i-1][j]; //B
frame->imageData[i*frame->widthStep+j*3+1]=(char)imgout->r1[H-i-1][j]; //G
frame->imageData[i*frame->widthStep+j*3+2]=(char)imgout->r0[H-i-1][j]; //R
}
}
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.132.136
※ 編輯: hardman1110 來自: 163.13.132.136 (11/03 18:47)
推
11/03 19:07, , 1F
11/03 19:07, 1F
→
11/03 19:27, , 2F
11/03 19:27, 2F
推
11/03 20:21, , 3F
11/03 20:21, 3F
推
11/03 20:52, , 4F
11/03 20:52, 4F
→
11/03 20:52, , 5F
11/03 20:52, 5F
推
11/03 22:18, , 6F
11/03 22:18, 6F
→
11/03 23:58, , 7F
11/03 23:58, 7F
推
11/04 00:24, , 8F
11/04 00:24, 8F
推
11/04 01:10, , 9F
11/04 01:10, 9F
→
11/04 01:10, , 10F
11/04 01:10, 10F
→
11/04 10:55, , 11F
11/04 10:55, 11F
→
11/04 10:56, , 12F
11/04 10:56, 12F
推
11/07 00:53, , 13F
11/07 00:53, 13F
→
11/09 08:59, , 14F
11/09 08:59, 14F
→
11/09 09:00, , 15F
11/09 09:00, 15F
→
11/09 22:54, , 16F
11/09 22:54, 16F
→
11/09 22:56, , 17F
11/09 22:56, 17F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章