我一直在尝试在java中应用laplacian过滤器。
int red = 8 * red - imageOne.getRed(i - 1, j - 1)
- imageOne.getRed(i, j - 1)
- imageOne.getRed(i + 1, j - 1)
- imageOne.getRed(i - 1, j) - imageOne.getRed(i, j)
- imageOne.getRed(i + 1, j)
- imageOne.getRed(i - 1, j + 1)
- imageOne.getRed(i, j + 1)
- imageOne.getRed(i + 1, j + 1);
绿色和蓝色值以相同方式计算。
计算RGB值后,会出现一些非常大的值或负值。 范围为[ - 255 * 8 ... 255 * 8]
我尝试使用
进行缩放 red = (int) (red / 16) + 128;
green = (int) (green / 16) + 128;
blue = (int) (blue / 16) + 128;
我也试过用以下代码
在[0 - 255]之间重新调整它 red = Math.min(255, Math.max(0, red));
但图像仍未正确显示。
如何正确处理RGB值?
由于