You are here

LabVIEW Tech-Tip 15호 - Web Cam을 이용한 패턴 매칭

그래픽 기반의 프로그래밍 언어인 LabVIEW와 시중에서 손쉽게 구할 수 있는 Web Cam을 이용하여 원하는 물체를 추적할 수 있는 패턴 매칭 프로그래밍을 할 수 있습니다.

 

Step 1. LabVIEW에서 Web Cam으로부터 촬영한 비디오 받기

새 VI를 열고 다음의 블록다이어그램 및 프런트패널과 같이 프로그래밍 합니다.

 

그림 1. 프런트패널 프로그래밍

프런트패널의 Image Display 인디케이터는 컨트롤 팔레트의 다음 경로에 있습니다. (그림 2. 참조)

 

그림 2. Image Display 인디케이터

 

그림 3. 블록다이어그램 프로그래밍

블록다이어그램의 IMAQ Create 함수는 다음 경로에 있습니다. (그림 4. 참조) IMAQ Create 함수는 Web Cam에서 촬영한 이미지를 디스플레이하기 위한 메모리 공간을 설정합니다.

 

그림 4. IMAQ Create

IMAQ USB Grab Setup, IMAQ USB Grab Acquire, IMAQ USB Close 함수는 다음 경로에 있습니다. (그림 5. 참조)


그림 5. IMAQ USB 함수 팔레트

실행하면, 프런트패널의 Image Display에 Web Cam에서 촬영한 이미지가 디스플레이됩니다.

Step 2. 패턴 매칭 프로그래밍

Vision Assistant Express 함수(그림 6. 참조)를 While 루프 안에 위치시키고, NI Vision Assistant 윈도우의 Finish 버튼을 클릭합니다. 블록다이어그램을 그림 7과 같이 수정합니다.

 

그림 6. Vision Assistant Express 함수


그림 7. 블록다이어그램 프로그래밍 수정

수정된 VI를 실행하여 이미지 수집이 잘 되는 것을 확인한 후, 정지 버튼을 클릭하여 VI 실행을 중지시킵니다. 이 과정을 통해 Vision Assistant Express VI에 작업하기 위한 이미지가 전달됩니다. 블록다이어그램의 Vision Assistant를 더블 클릭하여 NI Vision Assistant 윈도우를 엽니다.

촬영한 이미지 중 NI의 독수리 마크를 패턴 매칭하도록 프로그래밍 해보겠습니다. Vision Assistant 윈도우의 왼쪽 아래에 위치한 Processing Function 중 Color 탭에 있는 Color Pattern Matching을 클릭합니다.


그림 8. Color Pattern Matching

Color Pattern Matching Setup에서 Template 탭을 클릭합니다.

 

그림 9. Color Pattern Matching Setup의 Template 탭

Create Template를 클릭하고 Select a Template in the image 윈도우에서 원하는 영역을 선택한 후, OK 버튼을 클릭하고 적당한 이름으로 Template를 저장합니다. 여기에서는 NI의 독수리 마크를 선택하여 nigel.png로 저장하였습니다.

 

그림 10. Select a template in the image

Color Pattern Matching Setup의 Settings 탭을 열어 그림 11과 같이 설정합니다. 이미지의 녹색 영역도 최대한 넓혀서 Region of Interest를 전체 화면으로 넓힙니다. OK 버튼을 클릭하면 세팅이 완료됩니다.

 

그림 11. Settings 및 ROI(Region of Interest) 설정

화면 우 하단의 Select Controls >>를 클릭합니다. Matches를 체크하고 Finish 버튼을 클릭합니다.

 

그림 12. Select Controls

블록다이어그램의 Vision Assistant Express VI에 Matches 출력이 생성되었습니다. 인디케이터를 생성합니다. 실행하면 Template로 설정한 이미지의 위치가 Matches 인디케이터의 Position에 표시됩니다.

[주의] 비전 함수의 퍼포먼스는 조명에 대단히 민감하게 반응합니다. 원하는 만큼의 성능이 나오지 않는다면 우선 조명을 일정하게 하고, Color Pattern Matching Setup의 Setting의 각종 파라미터를 변경을 통해 최적 값을 찾는 수고가 필요합니다.

 

그림 13. 패턴 매칭 실행

Overlay 함수를 이용하면 Pattern Matching 된 결과를 Image Display 상에 직접 표시할 수 있습니다. 아래의 블록다이어그램 예제를 참고하시기 바랍니다.

 

그림 14. Overlay 블록다이어그램


그림 15. Overlay 프런트패널

 

예제 파일 및 소프트웨어 다운로드

LabVIEW 소스 코드(220 KB) 다운로드

Vision Development Module 30일 평가판 다운로드

NI-IMAQ for USB Cameras 드라이버 다운로드(무료)