作者H45 (!H45)
站内java
标题Re: [问题] 还是.bmp档案的问题 ~"~
时间Mon Oct 22 18:35:34 2007
※ 引述《H45 (!H45)》之铭言:
: 本程式输出的像素值有 (255, 255, 255), (255, 255, 0), (255, 0, 255),
: (0, 255, 255), (255, 0, 0), (0, 255, 0), (0, 0, 255), (0, 0, 0)
: 以上共有八种可能,所以这并不是二值影像。
try {
BufferedImage image = ImageIO.read(new File("lena256.bmp"));
final int width = image.getWidth();
final int height = image.getHeight();
for (int y=0; y<height; y++) {
for (int x=0; x<width; x++) {
int rgb = image.getRGB(x, y) & 0x00ffffff;
int red = (rgb & 0x00ff0000) >> 16;
int green = (rgb & 0x0000ff00) >> 8;
int blue = rgb & 0x000000ff;
if (red > 127 && green > 127 && blue > 127) {
rgb = 0x00ffffff;
} else {
rgb = 0x00000000;
}
image.setRGB(x, y, rgb);
}
}
ImageIO.write(image, "png", new File("binary.png"));
System.out.println("OK.");
} catch (IOException e) {
e.printStackTrace();
}
这个程式码经测试与原篇的 Matlab 图完全相同。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.247.13
1F:推 shiengchyi:h45大 你的lena.bmp 是存成哪一种? 我改存成24位元的就 10/22 19:28
2F:→ shiengchyi:正确了....Orz 10/22 19:29