2014-10-14 2 views
0

입자를 계산 한 다음 그 수를 표시하는 간단한 Java 응용 프로그램을 작성하려고합니다. imagej (ij.jar) 라이브러리를 사용하고 있습니다. 결과가있는 작은 상자가 표시 될 때까지 모든 것이 완벽하게 작동합니다. 아무도 나에게 나에게 설명 할 수있는 방법을 보여줄 수있다. 그리고 두 번째로, 그 값을 어떻게 int로 추출할까요?Imagej에서 요약을 표시하고 그 값을 추출합니다.

내 현재 코드 : 버튼 액션, 리드 :

ImagePlus imp = IJ.openImage("C:\\Users\\bibaleze69\\Desktop\\imageprocessing\\chromosomes2.jpg"); 
imp1.show(); 
IJ.run(imp, "Color Threshold...", "");  
IJ.run(imp, "Analyze Particles...", "show=[Overlay Outlines] display summarize"); 

답변

3

는 어떻게 int와 그 값을 추출 않습니다.

Results Table API를 사용하고 싶습니다. ResultsTable.getResultsTableAnalyze Particles 명령 다음에 활성화 된 결과를 얻게되며 getValue 메쏘드로 질문 할 수 있습니다.

사람 피스 내가

내가 Color Threshold...을 실행하면 실제로 마스크 또는 8 비트 이미지를 생성하는 임계 값을 적용하지 않기 때문에 당신의 Analyze Particles가 실행되고 있지 생각 표시 할 수있는 방법을 나에게 설명 할 수 , thresholding 인터페이스를 엽니 다. 사실은 Color Threshold을 신청하는 데 많은 어려움을 겪었습니다.

  • 당신이 피지 Color Threshold을 실행하고 Macro Recorder를 열 경우, 당신은에 IJ1 매크로 코드의 톤 덤프 Color Threshold 대화 상자에서 "매크로"버튼을 누를 수 있습니다 당신이 비록 몇 가지 옵션이 있다고 생각 기록계. 이 코드는 실제로 선택한 임계 값을 이미지에 적용하고 Analyze Particles에 입력 할 수있는 이미지를 만듭니다. 그러나 당신은 자바 측에서이 과정을 복제해야 할 것이고 나는 그것이 얼마나 유연 할 지 모른다.

  • 다음 IJ1 매크로 코드를 이미지를 8 비트로 임계 값으로 조정할 수 있습니다. 당신은 당신의 이미지의 8 비트 버전의 운영에서 원하는 임계 값을 얻을 수있는 경우

    run("8-bit"); setAutoThreshold("Default"); //run("Threshold..."); setOption("BlackBackground", false); run("Convert to Mask");

    는 다음이 Analyze Particles에 데이터를 얻을 수있는 매우 간단한 방법입니다.

이 옵션은 완전히 당신을 위해 작동하지 않는 경우, 나는 또한 많은 다른 사람의 사이 Threshold Colour 저자에 의해 판독된다 ImageJ mailing list, 쓰기 추천 할 것입니다.

+0

감사합니다. 실제로 하루 후에 알아 냈지만 추가 정보도 많은 도움이됩니다. –