그레이 스케일 이미지의 네거티브를 얻기위한이 프로그램의 목적. 실행하면 아무 것도 나타나지 않고 결과 이미지가 나타나지 않습니다. 디버깅 후, ImageIO.write 함수를 제외한 모든 것이 정상적으로 작동합니다. 왜 그런가?ImageIO.write의 문제점. 이미지를 다시 쓰지 않거나 보여주지 않습니까?
당신은 실수를import java.awt.BufferCapabilities;
import java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class emancv {
public static void main(String[] args){
String filepath = "D:\\Eman Hamed\\Academics\\Fall 14\\Computer Vision\\flower.jpg";
try {
BufferedImage bi = ImageIO.read(new File(filepath));
BufferedImage output = negative(bi);
ImageIO.write(output, "jpg", new File("D:\\Eman Hamed\\Academics\\Fall 14\\Computer Vision\\flower2.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static BufferedImage negative(BufferedImage bi){
WritableRaster myImage = bi.copyData(null);
WritableRaster myImage2 = bi.copyData(null);
for(int i =0; i< myImage2.getHeight(); i++)
for(int j =0; j<myImage2.getWidth(); j++)
{
int value = 255 - myImage.getSample(j, i, 0);
myImage2.setSample(j, i, 0, value);
}
BufferedImage res= new BufferedImage(bi.getWidth(),bi.getHeight(),BufferedImage.TYPE_BYTE_GRAY);
res.setData(myImage2);
return res;
}
}
'ImageIO.write있을 것' 부울'이미지가 파일에 기록되었는지 여부를 나타냅니다. 어떤 이유로 이미지가 쓰여지지 않은 이유 *를 알아내는 것이 그리 유용하지는 않지만 적어도 출발점 일 수 있습니다. 귀하의 경우에 무엇이 반환됩니까? 'false'의 경우, 명백한 것을 확인하십시오; 경로가 맞습니까? 쓰기 권한이 있습니까? 등 ... – haraldK
빈 파일이 생성됩니까? 파일을 생성하는 곳에서 문제가 발생하지만 파일에 단일 바이트의 데이터가 없습니다. – Zizouz212