관심 영역 (Region of Interest, ROI) 자주 묻는 질문 (FAQ)

업데이트 됨 Apr 8, 2019

해당 제품

Software

  • Vision Development Module
  • Vision Assistant
  • Vision Builder for Automated Inspection

Driver

  • Vision Acquisition Software
  • NI-IMAQ
  • NI-IMAQdx

문의사항

관심 영역(Region of Interest, ROI)이란 무엇입니까?
IMAQ Read Barcode VI를 사용할 때 오류가 발생하는 이유는 무엇입니까?
왜 IMAQ Transform ROI VI가 음의 좌표를 반환합니까?
Visual Basic에서 왜 내 이미지가 너무 커서 CWIMAQVision.MaskToRegions 함수를 사용할 수 없습니까?
자유형 ROI를 어떻게 추출합니까?
새 창에서 선택된 ROI를 어떻게 표시합니까?
클램프 기능을 사용할 때 왜 정확하지 않거나 다른 값을 얻습니까?
LabWindows/CVI에서 포인트의 집합으로 사각형 ROI를 만드는 방법은 무엇입니까?
ROI는 OCR(Optical Character Recognition)과 어떻게 작동합니까?

해결책

관심 영역(Region of Interest)이란 무엇입니까?


관심 영역 (ROI)은 이미지 분석을 위해 한 이미지 내에서 선택되어진 일부 영역을 말합니다. 추가 이미지 처리를 이 영역에 집중할 수 있습니다. 아래 내용에는 ROI 기능 및 사용 방법에 대한 정보가 포함되어 있습니다.


IMAQ Read Barcode VI를 사용할 때 오류가 발생하는 이유는 무엇입니까?


IMAQ Read Barcode VI를 사용할 때 전달된 ROI descriptor가 올바르지 않으면 -1074395720 IMAQ Read Barcode, Invalid ROI 오류가 발생합니다. 이 문제를 해결하는 가장 좋은 방법은 올바른 ROI descriptor를 생성하기 위해 도형 모양을 ROI로 변환하는 VI를 사용하는 것입니다. 이를 위해 관심 영역 변환 (Region of Interest Conversion) 하위 팔레트에 있는 VI를 사용할 수 있습니다. 이 팔레트는 LabVIEW에서 함수»시각 및 모션(Vision and Motion)»시각 유틸리티(Vision Utilities)»관심 영역(Region of Interest)»관심 영역 변환(Region of Interest Conversion)으로 이동하여 볼 수 있습니다.
 


왜 IMAQ Transform ROI VI가 음의 좌표를 반환합니까?


IMAQ Transform ROI VI를 사용하여 ROI를 회전시킬 때 VI는 잘못된 결과를 반환하고 ROI에 대해 음의 좌표를 제공할 수 있습니다. 이런 경우, 사용 중인 LabVIEW에서 지원하는 NI Vision 중 가장 최신 버전을 사용하고 있는지 확인해야합니다. 호환되는 NI Vision 및 LabVIEW 버전의 전체 목록은 LabVIEW 및 LabWindows/CVI와 호환 가능한 Vision Development Module 버전 에서 찾을 수 있습니다.


Visual Basic에서 왜 내 이미지가 너무 커서 CWIMAQVision.MaskToRegions 함수를 사용할 수 없습니까?


이 함수는 마스크 이미지를 영역 컬렉션으로 변환합니다. 기본적으로 2500 포인트의 제한이 있습니다. 2500 포인트 이상을 사용하려면 MaxPoints 매개 변수를 사용하려는 값으로 설정하면 됩니다. 또는 이미지를 여러 이미지로 나누어 세그먼트로 처리할 수도 있습니다. 모든 Vision 함수와 그 프로퍼티 및 메소드에 대한 전체 설명은 NI Vision for Visual Basic Reference Help에서 찾을 수 있습니다. 이것은 NI Vision이 설치된 경우 기본적으로 컴퓨터에 설치됩니다. 시작»프로그램»National Instruments»Vision»Documentation»NI Vision으로 이동하면 찾을 수 있습니다. cwimaq.chm이라는 파일을 여십시오.


자유형 ROI를 어떻게 추출합니까?


현재 NI Vision의 이미지 데이터 타입은 사각 형태의 이미지를 지원합니다. 이는 이미지 데이터가 2D 배열 형식으로 저장되어야 함을 의미합니다. 이 때문에 대부분의 사용자는 직사각형 ROI를 선택하여 추출할 것입니다.

ROI를 추출하는 빠른 방법은 IMAQ Construct ROI VI를 사용하여 직사각형 ROI descriptor를 얻는 것입니다.이 descriptor는 원본 이미지에서 ROI를 추출하는 IMAQ Extract Tetragon VI에 입력할 수 있습니다. 이 방법은 직사각형 ROI를 추출하는 경우에만 사용됩니다. ROI를 추출하는 보다 강력한 방법이 아래에 설명되어 있습니다.

자유형, 비 사각형 ROI descriptor는 IMAQ ROI VI 구성을 사용하여 얻을 수 있습니다. 비 사각형 ROI를 추출하기 위해 ROI descriptor를 얻은 후에 특별한 조치가 취해집니다. 이것은 아래 그림에서 설명합니다. ROI descriptor는 마스크로 변환되고 마스크는 원본 이미지에 적용되며 직사각형 자르기가 ROI 주변에 적용됩니다. ExtractFreeshapeROI.vi는 이미지를 입력으로 받아 사용자로 하여금 팝업창에서 ROI를 선택하도록 요청하고 추출된 ROI를 새 이미지로 출력합니다. 자세한 정보는 Community Example: Extracting a Freeshape ROI을 참조하십시오 . 
 


새 창에서 선택된 ROI을 어떻게 표시합니까?


ROI descriptor를 이용하여 ROI를 새 창에 표시할 수 있습니다. ROI descriptor는 IMAQ가 ROI의 정보를 ​​전달하는 데 사용하는 특정 데이터 클러스터입니다. ROI descriptor는 IMAQ ConstructROI, IMAQ WindGetROI, IMAQ MaskToROI 및 함수»시각 및 모션»비전 유틸리티»관심 영역»관심 영역 변환 하위 팔레트의 VI를 비롯한 여러 IMAQ VI의 출력값으로 얻을 수 있습니다. Vision Acquisition Software 2009 또는 이후 버전을 사용하는 경우 IMAQ Extract Tetragon VI를 사용할 수 있습니다. 아래에서 볼 수 있듯이, IMAQ Extract Tetragon VI는 ROI descriptor를 직접 입력값으로 사용하고 ROI descriptor가 정의한 영역 내에서 이미지를 추출합니다. IMAQ WindDraw VI는이 이미지를 가져와 별도의 이미지 윈도우에 표시합니다.



2009년 이전의 Vision Acquisition Software 버전을 사용하는 경우 ROI를 별도의 창에 표시하기 위해 완료해야 하는 몇 가지 추가 단계가 있습니다. 먼저 Contours 배열을 얻으려면 ROI descriptor 클러스터를 풀어야합니다. 이 배열의 색인을 생성하면 Coordinates 배열이 포함된 클러스터를 가져올 수 있습니다. 이 좌표는 ROI의 직사각형 위치를 나타냅니다. 이 좌표와 IMAQ Extract VI를 사용하면 지정한 좌표(ROI)에 포함된 첫 번째 이미지의 영역만 포함하는 새 이미지를 생성할 수 있습니다. IMAQ WindDraw VI를 사용하여 이 새로운 이미지를 자체 창에 표시할 수 있습니다.


이 두 가지 방법 모두 직사각형 ROI 선택에서만 사용할 수 있습니다. 직사각형이 아닌 ROI를 표시하려면 위에서 설명한 ExtractFreeshapeROI.vi 예제와 함께 IMAQ WindDraw VI를 사용할 수 있습니다.


클램프 기능을 사용할 때 왜 정확하지 않거나 다른 값을 얻습니까?


Vision Assistant의 클램프 기능을 사용하여 특정 물체 주위에 ROI를 그리면 거리에 대한 특정 측정 값을 얻게 됩니다. 동일한 객체 주위에 다른 ROI를 그리면 첫 번째와 다른 측정 값을 얻을 수 있습니다. 이것은 클램프의 라인 프로파일 간격 때문입니다. 이러한 라인 프로파일은 클램프의 거리를 가로 질러 달리고 직면하는 첫 번째 에지를 반환합니다. 라인 프로파일이 넓어질수록 클램프가 측정할 형상의 실제 최대 또는 최소점을 놓칠 확률이 높아집니다. 새로운 ROI가 그려지면 라인 프로파일이 약간 이동하므로 다른 값을 읽을 수 있습니다.

이 문제를 방지하려면 클램프 기능에서 Gap 값을 낮추십시오. 이렇게 하면 라인 프로파일 사이의 공간이 줄어듭니다. Gap 값을 줄이면 측정값은 더 높은 정밀도를 갖지만 더 많은 처리 시간이 소요됩니다. 직선 모서리나 분산이 적은 개체에 더 큰 Gap 값을 사용하십시오. 세부적인 특징 또는 누락된 각도를 가지는 물체를 측정할 때는 Gap 값을 낮추십시오.

참고 : LabVIEW에서 클램프 VI를 사용할 때, Gap 값은 서브 샘플링 비율로 참조되며 설정(Settings) 클러스터에서 찾을 수 있습니다.
 


LabWindows/CVI에서 포인트의 집합으로 사각형 ROI를 만드는 방법은 무엇입니까?


ROI 데이터 유형은 LabWindows/CVI에서 명시적으로 정의되어 있지 않지만 Vision 함수 호출을 통하여 ROI에 액세스하고 수정할 수 있습니다.

예를 들어 다음 코드는 직사각형 ROI를 설정하는 방법을 보여줍니다.

Rect rect = {80, 10, 55, 340};
roi = imaqCreateROI ();
imaqSetWindowROI (Display, roi);

모든 Vision 함수와 그 프로퍼티 및 메소드에 대한 전체 설명은 NI Vision for Visual Basic Reference Help에서 찾을 수 있습니다. 이것은 NI Vision이 설치된 경우 기본적으로 컴퓨터에 설치됩니다. 시작»프로그램»National Instruments»Vision»Documentation»NI Vision으로 이동하여 찾을 수 있습니다. cwimaq.chm 파일을 여십시오.


ROI는 OCR (Optical Character Recognition)과 어떻게 작동합니까?


OCR은 학습과 읽기의 두 가지 섹션으로 나뉩니다. 학습 과정에서 ROI는 학습 대상이 되는 객체 영역을 나타냅니다. 읽기 과정에서 ROI는 판별 대상이 되는 객체 영역를 지정합니다. ROI를 조작하여 OCR 프로세스의 정확성과 효율성을 효과적으로 높일 수 있습니다. 학습 과정에서 ROI를 사용하여 이미지에서 노이즈 및 외부 객체를 제외하고 학습하고자 하는 객체가 포함된 영역을 신중하게 지정할 수 있습니다. 읽기 도중 ROI를 사용하여 읽을 객체만 묶을 수 있으므로 처리 시간이 단축되고 정확도가 높아집니다.

이 글이 도움이 되셨습니까?

도움 안됨