如果要遍历一张图片的所有像素的(比如二值化),可以用两个
for
循环嵌套通过Bitmap中的getPixel(x,y)方法获取对应点的像素值即可。还有一种方法是通过Bitmap中的getPixels(pixels, offset, stride, x, y, width, height)方法获取一维数组pixels,然后在遍历pixels。经过测试,我发现后者方法遍历像素点效率大大高于前者。见如下示例:
// 获取一张宽384的图片,E为图片路径
bmp = Utils.getSmallBitmap(E, 384);
int w = bmp.getWidth();
int h = bmp.getHeight();
{
long start = System.currentTimeMillis();
for(int i=0;i<w;i++){
for(