我只是好奇java如何操纵图像和图像处理。在matlab中,图像被保存为RGB值的3D数组。但在Java中,我们使用byte []数组来存储图像。但那个数组是一维数组。
我想知道这个数组如何表示RGB值和体素的位置?
答案 0 :(得分:3)
这不仅仅是java。低级屏幕内存使用byte [](例如linux帧缓冲区)
取决于bpp(每像素位数)大小。 对于32 bpp,r,g,b,a值为4个字节。 颜色值从0到255。 每个图像行跟随一个字节数组中的先例。 然后宽度x 3为您提供第3行第一个像素位置。 总尺寸为宽x高x bpp / 8
32bpp是最容易理解的。
对于r,g,b,24bpp是3个字节 对于r,g,b,16bpp是2个字节,然后g在字节之间...
取决于编码,它可以是r,g,b,a或b,g,r,a或a,r,g,b ......