
Sherlock은 검사에 필요한 ROI 모양에 따라 다양한 전처리 연산과 알고리즘 연산을 지원한다(전처리기 104종, 알고리즘 43종). 이미지 윈도에서 검사에 필요한 ROI 모양을 추가하고 해당 ROI 옵션 창을 열면 전처리기와 알고리즘 연산을 사용할 수 있다.
반 상 현 AK정보통신 비전사업부 SW팀장
전처리기
Preprocessors 항목을 선택하면 ROI 모양과 이미지 형식에 따라(흑백, 컬러) 사용 가능한 전처리기 항목이 변경된다. Sherlock은 ROI 한 개당 최고 7개의 전처리기를 지원한다.
․ 체크박스로 전처리 프로세서를 활성/비활성화한다. 따라서 항목을 삭제하지 않고도 전처리 연산을 일시적으로 비활성화할 수 있으며, 매개 변수 설정에 대한 변경 사항을 저장한다.
․ X 버튼을 클릭하면 전처리 항목이 삭제된다.
․ 전처리 연산 중에 변경할 수 있는 매개 변수가 있는 경우에는 Parameters 버튼이 활성화된다. 모든 전처리기에 매개 변수가 있는 것은 아니며 매개 변수를 편집하려면 Parameters 버튼을 클릭해 매개 변수를 편집하도록 한다.
․ 좌측 파란색 화살표는 전처리기를 목록 위아래로 이동시킨다. 전처리기는 표시되는 순서에 따라 순차적으로 적용되므로 필요한 경우 화살표를 이용해 적용되는 순서를 바꿀 수 있다.
알고리즘
Algorithms 항목을 선택한다. 사용 가능한 알고리즘 목록은 ROI 모양과 이미지 형식에 따라 변경된다. 알고리즘은 표시되는 순서에 따라 순차적으로 적용되며 알고리즘은 독립적이기 때문에 알고리즘 사이에서 변수를 공유하지 않는 한 알고리즘 순서에 따라 결과가 변경되지는 않는다.
․ X 버튼을 클릭하면 선택된 알고리즘이 삭제된다.
․ 변경할 수 있는 매개 변수가 있는 경우 Parameters 버튼이 활성화된다. 모든 알고리즘에 매개 변수가 있는 것은 아니다. 매개 변수를 편집하려면 Parameters 버튼을 클릭한다.
매개 변수 편집하기
전처리, 알고리즘에서 매개 변수가 있는 경우 값을 편집할 수 있는 인터페이스를 제공한다. 입력 창을 활성화해 값을 변경하려면 오른쪽에 있는 Parameters 버튼을 클릭한다.
Parameters 버튼을 클릭하면 그림 3과 같은 편집창이 나타난다.
․ 편집할 수 있는 매개 변수 이름을 클릭하면 N 버튼이 생긴다. N 버튼을 한 번 클릭하면 var(변수)로 변경된다.
․ 숫자 필드(N)에서는 위아래 화살표로 숫자를 증가/감소할 수 있다. 또는 숫자 값을 클릭한 후 키보드로 새 값을 입력한다. N 버튼을 클릭해 var로 변경하면 숫자 매개 변수를 var에 할당할 수 있다.
․ 입력 형식이 부울(BOOL) 창에서는 True 또는 False를 할당할 수 있다. 이 두 값 사이에서 전환하려면 창을 더블 클릭한다.
․ 열거 형식의 경우에는 정의된 값을 나열한다. 정의된 값을 살펴보려면 더블 클릭을 한다. 열거 매개변수를 부울 매개변수로 변경하려면 N 버튼을 클릭해 var로 바꾼다.
전처리/알고리즘 설정하기
그림 4와 값이 Sherlock 실행시 기본으로 나오는 이미지에서 Sherlock이라는 글씨 부분에 RectA라는 ROI 영역을 설정한다. RectA ROI 영역을 마우스로 더블 클릭해 전처리/알고리즘 연산 창을 띄운다.
Preprocessors 항목에서 Invert를 선택하도록 한다. Invert 전처리 연산은 ROI 영역의 각 픽셀값을 255에서 입력된 픽셀값을 뺀 값으로 대체한다.
Algorithms 항목에서 Average를 선택한다. Average 알고리즘은 선택된 ROI 영역 내의 픽셀 평균값을 계산하는 알고리즘이다.
닫기 버튼을 클릭하며 창을 닫으면 그림 7과 같이 RectA ROI 영역의 이미지가 변화된 것을 볼 수 있다.
이미지에 대해 전처리와 알고리즘이 적용되면 Sherlock 프로그램 창에 설정된 전처리와 알고리즘이 추가된다.
수식 만들기
Instructions 창을 아래로 스크롤해 Numeric 폴더를 더블 클릭하면 사용 가능한 숫자 수식 목록을 볼 수 있다. Sqrt를 선택해 프로그램 창의 RectA로 끌어다 놓는다.
그림 9와 값이 ROI 및 이미지 처리(전처리, 알고리즘) 속성 아래에 수식이 생성된다. F( ) SqrtA 아래 두 개의 항목 중 첫 번째는 N 0.00이고 두 번째는 N sqrt of n이다. N은 숫자 값을 가리킨다. N 0.00의 왼쪽 상단에 아래쪽으로 향하는 빨간색 화살촉 모양은 ‘입력’을 의미하며, N sqrt of n에 보이는 위쪽으로 향하는 초록색 화살촉 모양은 ‘출력’을 뜻한다.
프로그램 창 버튼을 사용해 프로그램 항목을 만들 때 새 항목은 늘 선택된 프로그램 항목 아래에 생성된다. 다른 창에서 프로그램 창으로 항목을 끌어다 놓을 때에도 마찬가지로 항목을 끌어다 놓은 곳 아래에 항목이 들어간다. 반면 프로그램 창 안에서 항목들을 이동시켜 순서를 재배열할 때에는 옮겨놓는 곳 위에 위치한다.
판독값
판독값은 셜록 명령의 출력값을 저장한다. 수식 및 입출력 명령에 판독값을 사용할 수 있다. 모든 판독 값은(변수 할당 유무에 상관 없이) Watch 창에 끌어다 놓을 수 있다. 변수에 할당된 판독 값은 변수 창에 보인다.
변수 만들기
Variables 탭을 클릭한다. 변수 도구모음 에서 N 버튼을 두 번 클릭해 두 개의 변수를 만든다.
변수 지정하기
다음 방법으로 변수를 지정할 수 있다.
․ 변수 창의 varA를 프로그램 창의 RectA.Average 아래에 있는 N average 위에 마우스로 끌어다 놓는다.
․ 프로그램 창의 N sqrt of n을 마우스 오른쪽 버튼으로 클릭한 후 connect vari
able varB를 선택한다.
․ 프로그램 창의 N 0.00을 더블 클릭해 입력 판독 값 편집 대화 상자를 연다.
․ Variable 옆의 선택 버튼을 클릭하고 드롭다운 목록에서 varA를 선택한다.
․ OK를 클릭해 대화 상자를 닫는다.
프로그램 창은 그림 12와 같이 보여야 한다. varA와 varB는 Average(평균)와 Squ
are root(제곱근)에 의해 생성된 출력 판독값에 할당돼 있다. varA는 Square root의 입력 판독값에도 할당돼 있다. 변수창에서 varA와 varB 값은 아직 0.00이다. 값을 얻기 위해서는 탐색을 실행해야 한다.
기본 탐색 작업 실행
F9 키를 누르거나 메뉴에서 Run | Once를 클릭한다. 셜록은 사각형 내부의 평균 밝기와 그 수의 제곱근을 계산해 변수 varA, varB 창에 각각 값을 표시한다. 상태 표시줄은 탐색에 걸린 시간을 보여주며 보통 한 번 탐색 작업을 하는 데 8~19ms 정도 소요된다(연속 실행 시에는 5~9ms).
FA Journal 편집국 (fa@infothe.com)
<저작권자 : FA저널 (http://www.fajournal.com/) 무단전재-재배포금지>