通过我的实践证明,最好的方法是自定义像素类型的指针,指向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