Fiji이미지제이확장판
[ imageJ ] 란?
미국 국립보건원에서 연구용으로 만든 java기반 이미지처리 프로그램입니다. 빠르고 가벼워 비전 코드 개발시 로직/효과 검증용으로 사용할 수 있습니다. 비전, 생명공학 등 다양한 분야에서 사용하며, 매크로 기반으로 Fiji편집기등에서 스크립트식으로 활용도 가능합니다.
본 문서는 vision용 이미지처리와 관련된 내용을 위주로 다루고 있어, 관련분야에서의 활용으로 그 소개 범위를 한정합니다. (관련내용은 초록글씨) 그 밖의 자세한 내용 확인 필요하시면 아래 공식가이드를 참고하세요.
http://imagej.nih.gov/ij/docs/guide/user-guide.pdf
설치 링크 : (구글검색) https://imagej.net/ij/download.html
opencv와 같은 이미지프로세싱 라이브러리에서 제공하는 대부분의 함수/효과등을 간단한 버튼 조작만으로 적용해 볼 수 있어, 코드 작성간에 빠르게 프로토타입을 확인하고 적절한 접근 방법이나 파라미터값을 결정하는 데 도움을 줍니다.
예컨데 필터나 크롭, 이진화 등 전처리 과정이나 각각의 프로세싱 단계에서..
적절한 함수나 threshold를 매번 조정/변경 적용하고 빌드하는 대신, 좀 더 빠르고 가볍게 프로토타입을 확인한 후, 해당 결과를 참고하여 로직을 세우거나 최적화를 하여 생산성을 향상시킬 수 있습니다.
=================================================================
- 주요기능 소개
: 빠르게 사용법 위주로만 확인하고 싶으시면 단축키모음과 주요활용 소개를 확인하세요.
[ 기본 tool ]
ㄴ: 기본툴 아래 빨간 삼각형이 있는 경우, 우클릭하면 하위 옵션 선택가능
ㄴ: 기본툴 아이콘을 두번 누르면 해당 기능에 대한 설정 가능 (색상 크기 등등)
영역선택 / 선 / 각도 / 점 with [ ctrl + m ]
ㅡㅡ [ alt + drag ] 기존 영역위에 덧씌워서 영역 해제
ㅡㅡ[ ctrl + drag ] 선택한 점이 중심으로 바뀜
선(두 점 선택), 각도(세 점 선택), 멀티포인트(여러점 선택)
지팡이(tracing) : 선택하면 경계를 추적하여 영역을 잡아냅니다.
텍스트
확대축소 / 이동 / 스포이드
ㅡㅡ[ ctrl + wheel ] 줌 기능 / + - key입력
ㅡㅡ[ space + drag ] 이동 기능
[ Edit ]
ㅡㅡ[ ctrl + shift + a ] 선택한 모든 것을 해제
ㅡㅡ[ ctrl + shift + e ] 해제한 모든 것을 다시 선택
ㅡㅡ[ ctrl + a ] 모든 것을 선택
ㅡㅡfill, draw, invert 등으로 색을 채우거나 반전, 영역 그리기
ㅡㅡselection - line to area (roi설정기능 추후보강)
[ MoreTools ]
ㅡㅡPixel-Inspector : 지정 부분 픽셀값 확인, 화살표로 이동가능, c 누르면 클립보드에 값저장
ㅡㅡ[ Mouse Right Button Click + on result image ] : OriginalScale등 옵션 사용가능
[ Image ] 이미지-조정
: 이미지 변환 및 수정
Type : 로드한 이미지의 색공간 스팩을 조정
Adjust : 이진화/밝기/대조 값 등 기본적인 이미지데이터를 조정
ㅡㅡBrightness/Contrast : [ ctrl + shift + c ] 밝기/대조 값 조절
ㅡㅡWindow/Level : 윈도우(픽셀값 범위), 레벨(픽셀의 중간값 위치 - 레벨을 올리면 해당 레벨이 픽셀의 중간값이 되도록 모든 데이터를 상향조정하므로 밝아짐)
ㅡㅡColorBalance : 색상별 밝기 조절
ㅡㅡThresHold : [ ctrl + shift + t ] 최소값~최댓값 범위 지정색 검출, [ shift + drag ] 평행이동
ㅡㅡColorThreshold : Hue/Saturation/Brightness로 확장
ㅡㅡSize : 이미지 크기 변경
ㅡㅡCanvasSize : 캔버스 크기 변경 (이미지도 같이 변경됨)
ㅡㅡLineWidth : 선 선택폭을 픽셀단위로 조정
ㅡㅡCoordinates : ( NULL )
ㅡㅡAutoThreshold : 쓰레스홀드의 자동버전
ㅡㅡAutoLocalThreshold : 지역쓰레스홀드의 자동버전
Show info : [ ctrl + i ] 로드한 이미지의 상세정보를 확인
Properties : 다채널/다스택/시계열 이미지의 경우 각 이미지를 선택 / 픽셀크기조정
Color : 멀티채널 이미지 핸들링 / LUT적용
Stacks : 3차원이미지 핸들링
hyperStacks : 고차원이미지 핸들링
etc
ㅡㅡ[ ctrl + shift + x ] 크롭 ...윈도우기본캡쳐단축키와 곂침주의
ㅡㅡ[ ctrl + shift + d ] 새창복제
Transform - Image to results : 설정한 영역의 값을 cvs로 저장할 수 있는 창을 띄움
Overlay - addSelection / showOverlay / From-To-ROImanager
이름수정 / 크기조정 / 이동 / 줌 / 오버레이 등
[ Process ] 이미지-프로세싱
: 각종 필터적용, 엣지검출 등 각종 연산
Smooth : [ ctrl + shift + s ] 흐리게 (각 픽셀을 3x3의 평균으로 대체)
Sharpen : 대비높게 (각 픽셀을 3x3범위로 -1 & 12배로 가중 평균으로 대체)
FindEdges : 소벨XY, 3x3범위 컨볼루션후, 마그니튜드화 ∣G∣= sqrt(*Gx^*2+*Gy^*2)
FindMaxima : 지역적 최대값 찾기 (3번은 영역간 중간경계, 4번은 이미지x 포인트반환) : 기본적으로 최대밝기점을 찾고 입력값보다 차이나는 픽셀은 0으로 이진화
EnhanceContrast : 히스토그램 늘이기 또는 균등화 사용, 이미지 대비를 향상시킴 : 채도의 촘촘한 정도를 조절 (이진화와 개념상 유사합니다.)
Noise : 무작위 노이즈를 여러 방법으로 추가 또는 제거 (평균0, 표준편차25, 정규 기준)
ㅡㅡdespeckle(얼룩제거) : 3x3범위 정렬후 중앙값으로 중앙픽셀 대체 (소금후추제거효과)
ㅡㅡremoveOutliers(이상값제거) : 임계값 넘으면 중앙값으로 대체
ㅡㅡremoveNaNs(반점제거) : 32bit환경사용...주어진 커널크기보다 작으면 중앙값 대체
Shadows : 컨볼루션 기능을 활용하여 그림자 생성
Binary : 이진화이미지를 생성 처리하는 옵션, 검정만 검정, 배경은 흰색 가정
Math : 픽셀 값에 상수를 연산해볼 수 있는 옵션, 미리보기 사용가능
FFT : 주파수 영역의 표시, 편집, 처리를 지원 (푸리에 변환 등)
Filters : 여러가지 필터
Convole... : 컨볼루션연산을 수동 행렬값으로 해볼 수 있는 옵션
GaussianBlur : 붕괴반경 시그마를 이용한 평활화
Median : 각 픽셀을 인접 픽셀의 중앙값으로 대체하여 노이즈 감소
Mean : 각 픽셀을 이웃 평균으로 대체하여 평활화
Minimum / Maximum : 각 픽셀을 주변의 가장 작은/큰 픽셀로 대체하여 침식/확장 수행
UnsharpMask : 흐릿한 부분을 빼서 가장자리를 선명하게 (범위, 가중치 설정가능)
Variance : 각 픽셀을 이웃 분산으로 대체하여 가장자리 강조
TopHat : 원본과 opening연산결과의 차이를 계산하여 표시
Batch : 일괄 작업 수행 기능
ImageCalculator : 오픈한 2개의 이미지를 커스텀으로 연산하는 기능
SubtractBackground : 이미지에서 부드럽고 연속적인 배경을 제거 (롤링볼 알고리즘)
RepeatCommand : 이전명령을 다시 실행, 편집취소 및 파일열기 명령을 skip함
[ Analyze ] 이미지-분석
: 통계, 히스토그램 플로팅 등 각종 분석
Measure : [ ctrl + m ] 기본 tool로 뭔가 선택했다면 일단 눌러보세요
AnalzeParticles... : 바이너리/임계값이미지의 개체 수를 계산하고 분석
Summarize : 엑셀로 할 수 있는 것들의 imageJ버전 (Results Table 각 열에 대해 값의 평균, 표준 편차, 최소값 및 최대값을 계산하고 표시)