gpt4 book ai didi

android - 在 Android 中模糊图像

转载 作者:太空狗 更新时间:2023-10-29 13:42:16 26 4
gpt4 key购买 nike

我正在使用以下代码在 android 中模糊图像,但它不起作用。我得到的最终图像颜色非常失真,而不是我想要的模糊。我做错了什么?

public Bitmap blurBitmap(Bitmap bmpOriginal)
{
int width, height;
height = bmpOriginal.getHeight();
width = bmpOriginal.getWidth();

Bitmap bmpBlurred = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
for (int i = 1; i < width - 1; i++) {
for (int j = 1; j < height - 1; j++) {
int color = (int) getAverageOfPixel(bmpOriginal, i, j);
bmpBlurred.setPixel(i, j, Color.argb(Color.alpha(color), Color.red(color), Color.green(color), Color.blue(color)));
}
}
return bmpBlurred;
}

private double getAverageOfPixel(Bitmap bitmap, int i, int j) {
return (
bitmap.getPixel(i-1, j-1) + bitmap.getPixel(i-1, j) + bitmap.getPixel(i-1, j+1) +
bitmap.getPixel(i, j-1) + bitmap.getPixel(i, j) + bitmap.getPixel(i, j+1) +
bitmap.getPixel(i+1, j-1) + bitmap.getPixel(i+1, j) + bitmap.getPixel(i+1, j+1)) / 9;
}

最佳答案

您的问题是您同时组合了所有颜色 channel 并且它们都相互溢出。您应该分别将模糊函数应用于红色、绿色和蓝色 channel 。

创建 SurfaceView 并使用 FX_SURFACE_BLUR 会更容易吗?旗帜?

关于android - 在 Android 中模糊图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4276967/

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