java - 从包含 3 channel 像素信息的 3d 字节数组创建 java 位图图像

标签 java android image-processing android-bitmap

我有一个像这样的 3 维字节数组:

byte[][][] data = pyf.callAttr("test", red,green,blue).toJava(byte[][][].class);

这里是byte[0],其中包含具有红色 channel 像素值的二维数组

byte[0] 是一个 480x360 数组,与 byte[1]byte[2] 相同分别持有绿色和蓝色
现在我想从这个 3 维字节数组创建一个 360x480 java 位图图像

最佳答案

问题的某些部分我不清楚,比如你是否要旋转图像(480x360 到 360x480 部分)。

所以,我假设以下事情:
(1) 你有一个名为 data 的正确字节数组,它包含你所描述的数据
(2) 你需要从数据中创建位图
(3) 如有必要,您可以旋转图像(即以下代码不会旋转图像)

  • 以下代码未经测试。但它应该能让您走上正轨。
int width = 480;
int height = 360;

int alpha = 1; // change alpha as necessary

Bitmap bmp = Bitmap.createBitmap(width, height, Config.ARGB_8888);

for(int x=0; x<width; x++) {
    for(int y=0; y<height; y++) {
        int red = data[0][x][y];
        int green = data[1][x][y];
        int blue = data[2][x][y];

        int color = Color.argb(alpha, red, green, blue);
        
        bmp.setPixel(x, y, color);
    }
}

关于java - 从包含 3 channel 像素信息的 3d 字节数组创建 java 位图图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62968604/

相关文章:

image-processing - 使用卷积神经网络实现图像分类的数据增强

java - 在 Eclipse 中禁用作为 Java 应用程序运行选项

java - JDBC 访问被拒绝错误

java - 实时应用程序(服务器/客户端)的设计(类、方法、接口(interface))

java - 应用程序编程模型$filter操作

android - 如何修复第二次点击后更新的小部件 View

android - 如果 Activity 正在运行,则获取额外的 Intent

java - 使用 eclipse 更改应用程序主题?

ios - 查找从相机拍摄的图像的照度值

php - PHP 中的图像处理和创建 - 如何创建 300DPI 图像