2015-05-04 28 views
1

我有一個由1維數組(char[])表示的圖像。圖像高度是H,圖像寬度爲W,我想提取子圖像在(dx,dy)開始,其尺寸爲(dW,dH)如何從1維數組中提取子圖像?

這似乎不工作:

subimage(i,j) = image[(j+dy*W) * (W+i+dx)] 

有人可以幫忙嗎?

回答

1

存儲一個一維數組的步幅等於圖像寬度的圖像中的特定像素的公式爲:

pixel(x,y) = image[(y * width) + x] 

所以你正在尋找的公式是(以僞碼):

subimage(i,j) = image[((j+dy)*W) + (i+dx)] 

迭代j0dHi0dW