2012-06-28 4 views
0

저는 현재 구성 중이며 모든 것을 작동시킬 수있는 Java 응용 프로그램에서 ImageJ jar (ij.jar)를 사용하고 있습니다. (경로는 이미지의 경로를 지정한 사용자 임)가ImageJ에 이미지가 열려 있는지 확인하십시오.

ImagePlus image = new ImagePlus(path); 

이미지가 없을 수있다 : 그러나, I 선을 실행할 때 가능성이있다. ImageJ 라이브러리는 image의 메소드에 액세스 할 때까지 오류를 던지지 않으며 ImageJ는 콘솔 There are no images open.에 인쇄하여 프로그램을 종료합니다. 나는 ImageJ이 실제로 내 응용 프로그램이 종료 된 이후에 그 라인을 출력 할 때 System.exit()을 호출한다고 생각한다. Deamon 쓰레드를 포함한다.

ImageJ를 사용하여 이미지가 성공적으로 열렸는지 확인하는 방법이 있습니까? 아니면 Java의 File 클래스를 사용하여 파일이 존재하는지 확인해야합니까?

편집 :

는 명확히하기 위해,이 같은 시간에 많은 이미지를 열고 공정을 시도 할 수 있습니다 멀티 스레드 응용 프로그램입니다. ImageJ 클래스 (IJ)는 이미지를 열 수 있지만 IJ은 싱글 톤 클래스이므로 IJ.openImage("string")에 대한 여러 호출이 동시에 발생하면 이상한 동작을 보입니다. 이미지가 성공적으로로드되었는지 여부를 테스트 할 수

답변

1

한 가지 방법은 이미지의 폭과 높이가 있는지 확인하는 것입니다 양쪽 모두 0 :

ImagePlus image = new ImagePlus("/non/existent"); 
if (image.getWidth() == 0 && image.getHeight() == 0) { 
    // Then the image wasn't loaded... 
} 

나는 당신이 설명하는 동작을 재현 할 수없는 두려워 응용 프로그램이 종료되지만 어쩌면 이것은 당신을 위해 작동하지 않을 수도 ...

관련 문제