java - 手动将图像像素从彩色 ARGB 转换为灰度 ARGB

标签 java algorithm grayscale argb

所以我有一个项目可以通过使用算法更改 argb 值来手动将图像转换为黑白图像。我已经尝试对 RGB 值进行平均,我得到了一个几乎完全灰度的图像,但其中仍然有一些颜色。谁有手动将 aRGB 中的像素转换为灰度的算法示例?

这是我到目前为止所做的:

            //Apply the filter
            reds = ((reds+greens+blues)/3);
            greens = ((reds+greens+blues)/3);
            blues = ((reds+greens+blues)/3);

最佳答案

看起来您正在更改 Right Hand Side 的输入,同时期望其值保持不变。为什么不用这个?

reds = (reds + greens + blues) / 3;
greens = reds;
blues = reds;

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

相关文章:

java - 查找数字的个位数

java - JSoup 元素和 JSoup 节点之间的区别

android - GridView OnItemClickListener - 如何对其他项目进行灰度化

java - 如何以编程方式设置 ViewPager layoutParams?

java - 在Java中恢复读取巨大的文本文件

algorithm - youtube算法如何选择电影图像?

java - Java中的巴比伦算法

algorithm - 确定数组中的哪些项目是最长递增子序列的一部分

html - 灰度影响容器中的所有内容

ios - 如何使用 CoreImage 滤镜实现灰度滤镜?