gpt4 book ai didi

android - 将灰度图像转换为彩色

转载 作者:搜寻专家 更新时间:2023-11-01 07:39:40 26 4
gpt4 key购买 nike

将灰度图像(1 像素/字节)转换为彩色位图的最佳方法是什么 - 使用颜色空间(字节数组形式的 RGB)?

我认为这会使用 ColorMatrix类,但我不知道如何使用它来实现这一目标。

最佳答案

概述了从 Gray -> RGB 转换的算法(我最喜欢的)OpenCV文档:

RGB->Gray 是 R,G,B 的加权和。Gray->RGB 是 Gray Value = R,G,B 值的直接副本(无缩放)。

您可以只使用一个 int[] 并执行一个双循环将所有灰度值复制到 RGB 数组,然后您可以使用 Canvas.drawBitmap (int[],width,offset,height,offset,RGB) 在 Canvas 上绘制。

//color[], gray[]
for(int y = 0; y < getHeight(); y++){
for(int x = 0; x < getWidth(); x++){
color[x+y*w] = 0xff << 24 | gray[x+y*w] << 16 | gray[x+y*w] << 8 | gray[x+y*w];
}
}
// make sure to set hasAlpha to be false, or set the 0xff value to be alpha
//canvas.drawBitmap(color, ...)

即使使用 ColorMatrix 类,您也必须处理必须将 GrayScale 位复制到 [r g b a] 值中的问题。 ColorMatrix 实际上用于从 ARGB 到 ARGB 的缩放/转换。

关于android - 将灰度图像转换为彩色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5735099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com