你们能帮忙将 JPG 文件转换为二维 int [] [] 数组吗?!有一种将它转换为字节数组的解决方案,但我需要它在一个 int 数组中......
byte[] imageBytes = File.ReadAllBytes("example.jpg");
你们能帮忙将 JPG 文件转换为二维 int [] [] 数组吗?!有一种将它转换为字节数组的解决方案,但我需要它在一个 int 数组中......
byte[] imageBytes = File.ReadAllBytes("example.jpg");
ReadAllBytes 不会为您提供 JPEG 的像素。JPEG 是一种压缩图像类型。您需要先将其加载到 Image 类中才能解压缩。然后你可以访问图像的像素加上确定它的宽度和高度。
Bitmap image = new Bitmap("example.jpg");
// Loop through the image
for(x=0; x<image.Width; x++)
{
for(y=0; y<image.Height; y++)
{
Color pixelColor = image1.GetPixel(x, y);
my_int_array[x][y] = pixelColor.ToArgb();
}
}
如果您需要为某些图像处理 API(这很可能是您实际需要的)提供对底层图像的原始访问,而不是对文件的访问,请参阅如何:使用 LockBits。
本文还介绍了一些基础知识,例如扫描和跨步:使用 LockBits 方法访问图像数据。