【发布时间】:2014-10-17 06:02:13
【问题描述】:
我想将图像转换为像素强度在0-255之间的灰度图像。
我能够使用以下 Java 方法将图像转换为灰度图像。
public void ConvertToGrayScale(BufferedImage bufImage, int ImgWidth, int ImgHeight) {
for (int w = 0; w < ImgWidth; w++) {
for (int h = 0; h < ImgHeight; h++) {
Color color = new Color(bufImage.getRGB(w, h));
int ColAvgVal = ((color.getRed() + color.getGreen() + color.getBlue()) / 3);
Color avg = new Color(ColAvgVal, ColAvgVal, ColAvgVal);
bufImage.setRGB(w, h, avg.getRGB());
System.out.println(avg.getRGB());
}
}
}
"System.out.println(avg.getRGB());"用于查看像素强度,但所有灰度级均为负值且不在 0-255 之间。
我做错了吗?如何将图像转换为像素强度介于 0-255 之间的灰度图像。
谢谢
【问题讨论】:
标签: java image-processing grayscale