[問題] 灰階圖片的width和widthstep

看板C_and_CPP作者 (missing)時間14年前 (2011/04/22 23:09), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/4 (看更多)
我使用的是vc2008和opencv2.0 使用cvLoadImage載入一張684*600的圖檔Img.bmp並且是以灰階讀取 我想請問為何Img->width和Img->widthStep的值會不一樣呢@ @ IplImage如果是灰階圖片,一維陣列的元素應該就是一個值表示一個像素的灰階值吧@ @ 不像彩色圖片的話因為一維陣列排列是BGRBGRBGR......... 所以BGR三個元素的值才表示一個像素的值 為何輸出Img->widthStep會等於684 輸出Img->width卻會等於682呢 謝謝回答~~~~~~~~!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.242.210

04/22 23:38, , 1F
記得是為了加速做了alignment的關係
04/22 23:38, 1F

04/23 01:17, , 2F
BMP水平一行規定要4的倍數BYTE, 黑白彩色圖都一樣.
04/23 01:17, 2F

04/23 01:18, , 3F
width 是影像的實際長度, widthstep 是一行影像所占的BYTE
04/23 01:18, 3F

04/23 01:19, , 4F
widthstep=(width+3)/4*4; //gray image
04/23 01:19, 4F

04/23 01:19, , 5F
widthstep=(width*3+3)/4*4; // 24bits color
04/23 01:19, 5F
文章代碼(AID): #1DiPeGwb (C_and_CPP)
文章代碼(AID): #1DiPeGwb (C_and_CPP)