我正在尝试为Android应用程序实现一个彩色图像的均值滤镜。当我在选定的图像上应用滤镜时。
原图:

过滤后的图像

发布于 2013-08-01 15:14:15
在每个像素上,您从pixels[index]读取颜色值,但是索引变量是过滤数组的索引,而不是原始图像的索引。您应该读取索引x+filterX+width*(y+filterY)处的像素数据,并且要小心图像的边缘。
一个更大的问题是,红色、绿色和蓝色的总和永远不会重置为0,这意味着它们将不断累积像素值。这应该可以解释变色的原因。添加:
sumR = 0;
sumG = 0;
sumB = 0;
for (int i = 0; i < RArray.length; i++) {
sumR += RArray[i];
sumG += GArray[i];
sumB += BArray[i];
}https://stackoverflow.com/questions/17987108
复制相似问题