如何从一维数组中提取子图像?

时间:2015-05-04 09:24:41

标签: c++ c image

我有一个由一维数组(char[])表示的图像。图片高度为H,图片宽度为W,我想从(dx,dy)开始提取一个子图像,其尺寸为(dW,dH)

这似乎不起作用:

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

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

图像中特定像素的公式存储了一个步幅等于图像宽度的一维数组:

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

所以你要寻找的公式是(伪代码):

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

j重叠0dH,将i重叠至0dW