我正在处理一个项目,其中我收到的图像数据是一个字节数组(每个像素1个字节)。每个字节表示一个灰度整数(0-255)。
为了对数据执行一些功能,我需要将字节数组转换为整数数组。 请帮助我..
我正在处理一个项目,其中我收到的图像数据是一个字节数组(每个像素1个字节)。每个字节表示一个灰度整数(0-255)。
为了对数据执行一些功能,我需要将字节数组转换为整数数组。 请帮助我..
这个简单方法有什么问题吗?
public static int[] convertToIntArray(byte[] input)
{
int[] ret = new int[input.length];
for (int i = 0; i < input.length; i++)
{
ret[i] = input[i] & 0xff; // Range 0 to 255, not -128 to 127
}
return ret;
}
编辑:如果您想要范围为-128到127:
public static int[] convertToIntArray(byte[] input)
{
int[] ret = new int[input.length];
for (int i = 0; i < input.length; i++)
{
ret[i] = input[i];
}
return ret;
}
IntBuffer ib = ByteBuffer.wrap(input).order(ByteOrder.BIG_ENDIAN).asIntBuffer();
int[] ret = new int[ib.capacity()];
ib.get(ret);
return ret;
& 0xff
在这里帮了我大忙。这正是我想要的。 - MoxxiManagarm