通过我的实践证明,最好的方法是自定义像素类型的指针,指向image的data
如对深度图像,
typedef
short
(*ImageData)[IMAGEWIDTH];
short
(*dataWithHoles)[IMAGEWIDTH]=(ImageData)(depthImageWithHoles->imageData);
这样dataWithHoles[i][j]访问的就是深度图中(i,j)坐标处的值
对于8位RGB图像,
struct
RgbPixel
{
char
r;
char
g;
char
b;
};
typedef
RgbPixel (*RgbImageData)[IMAGEWIDTH];
RgbPixel (*rgbData)[IMAGEWIDTH]=(RgbImageData)(_rgbImage->imageData);
要访问图像坐标下(x,y)的值,应该是rgbData[y][x].r
不是rgbData[x][y].r