android 活动阈值,Android实时黑白阈值图像

博客内容讲述了如何将彩色位图转换为黑白位图,通过遍历像素并应用特定阈值(128)来确定像素颜色。作者希望实现一个功能,允许用户通过Spinner实时改变黑白阈值,但担心这会导致性能问题。讨论中提到了可能使用GIF和修改查找表值的方法来实现这一目标,但寻求Android领域的相关经验。
摘要由CSDN通过智能技术生成

我有一个代码,使用以下代码将具有灰色的位图转换为黑色和白色的位图:

// scan through all pixels

for (int x = 0; x < width; ++x) {

for (int y = 0; y < height; ++y) {

// get pixel color

pixel = bitmap.getPixel(x,y);

A = Color.alpha(pixel);

R = Color.red(pixel);

G = Color.green(pixel);

B = Color.blue(pixel);

int gray = (int) (0.2989 * R + 0.5870 * G + 0.1140 * B);

// use 128 as threshold,above -> white,below -> black

if (gray > 128)

gray = 255;

else

gray = 0;

// set new pixel color to output bitmap

bmOut.setPixel(x,y,Color.argb(A,gray,gray));

}

}

正如你所看到的那样,我遍历了原始位图的所有像素点,然后我将颜色的分量与给定的阈值进行比较,在这种情况下为128,然后如果它在上面我说它是白色,否则它将是一个黑色像素.

我现在想做的是一个可以改变该阈值的Spinner,然后BW图像会有所不同.

要做到这一点,我需要再次绘制所有图像,这是非常cpu的成本时间,它需要时间再次传输所有像素.

有没有办法实时使用不同的BW阈值更改图像?

有人告诉我使用GIF,然后我会做的只是改变GIF的查找表值,有人在Android上有这方面的知识吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值