HALCON--카메라 연결, 파라미터 조정, 이미지 캡처

현재 보고 계신 매뉴얼은 구버전입니다. 페이지 오른쪽 상단을 클릭하면 최신 버전의 매뉴얼로 전환할 수 있습니다.

이 부분에서는 주로 HALCON 도우미, Mech-Mind Robotics가 제공하는 HALCON 예제 프로그램을 통해 Mech-Eye 산업용 3D 카메라 연결, 파라미터 조절 및 이미지 캡처 방법에 대해 소개하겠습니다.

사용 조건

Nano(V3) 및 Pro XS(V3) 카메라를 사용하는 경우 교환기를 사용하지 않고 카메라와 컴퓨터를 직접 연결하는 것을 권장합니다.
  • 컴퓨터에 HALCON 20.11 및 이상 버전이 이미 설치되어 있습니다.

20.11 이전의 HALCON 버전은 완전히 검증되지 않았습니다.
  • 컴퓨터에 2.0.0 및 이상 버전의 Mech-Eye SDK 소프트웨어가 이미 설치되어 있습니다.

카메라의 펌웨어 버전과 소프트웨어의 버전이 일치해야 Mech-Eye SDK를 사용할 수 있습니다. 카메라 펌웨어 버전을 업그레이드하려면 카메라 펌웨어 업그레이드 내용을 참조하십시오.
  • 카메라와 컴퓨터의 IP 주소는 동일한 네트워크 세그먼트에 있습니다.

카메라와 컴퓨터의 IP 주소를 고정 IP 주소로 설정하는 것을 권장합니다. 구체적인 IP 설정 방법은 Mech-Eye Viewer를 통해 IP 주소를 설정하기 내용을 참조하십시오.

HALCON 도우미 또는 Mech-Mind Robotics가 제공하는 HALCON 예제 프로그램을 통해 카메라를 연결할 수 있습니다.

HALCON 도우미를 사용하기

HALCON의 이미지 캡처 도우미를 통해 카메라 연결, 이미지 캡처 및 파라미터 조정 등 기능을 빠르게 실현할 수 있습니다.

컴퓨터에서 HALCON 소프트웨어를 시작하고 도우미  새로 열기 Image Acquisition 버튼을 클릭하여 이미지 캡처 도우미를 활성화할 수 있습니다.

카메라 연결

  1. Image Acquisition 창의 소스 탭 아래에서 이미지 취득 인터페이스를 클릭하고 풀다운 메뉴에서 GigEVision2를 선택하십시오.

    choose gigevision2
    풀다운 메뉴에 GigEVision2 옵션이 없으면 GigEVision2 이미지 획득 인터페이스가 설치되어 있지 않음을 의미합니다. HALCON 매뉴얼 내용을 참조하시고 MVTec 소프트웨어 관리자(SOM)를 통해 인터페이스를 설치합니다.
  2. 연결 탭 아래에서 장치를 클릭하고 연결 버튼을 클릭하면 카메라를 연결할 수 있습니다.

    connect the camera
  • 카메라가 성공적으로 연결되면 연결 버튼이 연결 종료 버튼으로 변하게 됩니다. 변화가 없으면 연결되지 못했다는 것을 의미합니다. 카메라의 연결을 끊으려면 연결 종료 버튼을 클릭하십시오.

  • 카메라가 다른 클라이언트에 연결되었는지를 확인하십시오. 다른 클라이언트에 연결된 카메라를 연결할 수 없으니 다른 클라이언트에서 연결을 끊은 다음 HALCON 소프트웨어에서 다시 연결하십시오.

  • 연결할 카메라를 쉽게 찾을 수 있기 위해 장치에 있는 카메라의 이름은 Mech-Eye Viewer에서 자체 정의할 수 있습니다. Mech-Eye Viewer에서 카메라를 연결한 후 카메라 이름을 설정하면 됩니다. 영어로 이름을 설정하는 것을 권장합니다.

이미지 캡처

카메라를 연결한 후 연결 탭 아래에서 스냅 버튼을 클릭하면 이미지를 한번 캡처할 수 있습니다.

카메라의 이미지 캡처 시간이 매우 길면 카메라의 MTU 값을 늘리고 컴퓨터에서 점보 프레임 기능을 활성화할 수 있습니다.

이미지를 여러 번 캡처하거나 연속적으로 캡처하려면 AcquisitionMode 파라미터의 값을 먼저 조정해야 합니다.

  • 이미지를 여러 번 캡처하려면 아래 설명에 따라 작업하십시오.

    • 파라미터 탭에서 AcquisitionMode 파라미터를 MultiFrame로 설정하십시오.

    • 화면 오른쪽 상단의 리프레쉬 버튼을 클릭한 후 AcquisitionFrameCount에서 이미지 캡처 횟수를 설정하십시오.

    • 다음으로 연결 탭 아래에서 라이브 버튼을 클릭하여 이미지를 캡처하십시오.

    • 설정한 이미지 캡처 횟수를 수행한 후 라이브 버튼이 정지 로 되고 이때 정지 버튼을 누르면 이미지 캡처 과정이 종료됩니다.

  • 이미지를 연속적으로 캡처하려면 아래 설명에 따라 작업하십시오.

    • 파라미터 탭에서 AcquisitionMode 파라미터를 Continuous로 설정하십시오.

    • 다음으로 연결 탭 아래에서 라이브 버튼을 클릭하여 이미지를 캡처하십시오.

    • 라이브 버튼이 정지가 되고 이때 정지 버튼을 누르면 이미지 캡처 과정이 종료됩니다.

  • AcquisitionMode 파라미터를 MultiFrame 또는 Continuous로 설정해도 스냅 버튼을 클릭하면 이미지를 한번 만 캡처할 수 있습니다.

  • AcquisitionMode 파라미터를 SingleFrame로 설정하면 이미지를 한번 만 캡처할 수 있습니다.

데이터 유형을 선택하기

카메라 연결 후 기본으로 획득되는 데이터 유형은 2D 이미지입니다. DeviceScanType 파라미터를 조정함으로써 원하는 데이터 유형(2D 이미지 또는 뎁스 맵)을 선택할 수 있습니다.

  1. 파라미터 탭을 클릭하여 DeviceScanType 파라미터를 필요한 데이터 유형으로 설정하십시오. 데이터 유형에 관한 설명은 아래와 같습니다. 데이터 유형에 관한 설명은 아래와 같습니다.

    데이터 유형

    Areascan

    2D 이미지

    Areascan3D

    뎁스 맵(뎁스 정보를 갖춘 2D 이미지)

  2. 이미지를 캡처하고 선택한 유형의 데이터를 획득하십시오.

    파라미터 탭 화면 오른쪽 상단에 있는 이미지 업데이트 버튼을 클릭하고 파라미터를 조정한 후 Canvas 창에 있는 이미지가 자동으로 업데이트됩니다.

캡처 영역을 설정하기

카메라 연결 후 획득한 이미지를 잘라야 할 경우 Height, Width, OffsetXOffsetY 4개의 파라미터를 조정하여 캡처 영역을 설정할 수 있습니다.

아래 설명에 따라 이미지 캡처 영역을 설정하십시오.

  1. 이미지 캡처 영역을 설정하려는 데이터 유형을 선택하십시오.

  2. 스냅 버튼을 클릭하여 이미지를 한번만 캡처하고 획득한 이미지를 확인하십시오.

  3. 파라미터 탭으로 전환하여 Height, Width, OffsetXOffsetY 등 파라미터를 조정합니다. 아래 그림은 이 네 가지 파라미터 및 설정한 이미지 캡처 영역(주황색 상자)과 원본 이미지 사이의 관계를 보여줍니다.

    set capture region 1
    • Width: 이미지 캡처 영역의 너비

    • Height: 이미지 캡처 영역의 높이

    • OffsetX: 이미지 캡처 영역 왼쪽 상단 모서리의 X 좌표(원본 이미지 왼쪽 상단 모서리 좌표는 (0, 0))

    • OffsetY: 이미지 캡처 영역 왼쪽 상단 모서리의 Y 좌표

      위의 네 가지 파라미터 설정은 다음 요구 사항을 충족해야 합니다.

      • (Width + OffsetX)는 원본 이미지의 너비를 초과하지 않습니다.

      • (Height + OffsetY)는 원본 이미지의 높이를 초과하지 않습니다.

      원본 이미지의 너비와 높이는 읽기 전용 파라미터WidthMaxHeightMax에서 확인할 수 있습니다(시각성전문가 혹은 이상으로 설정해야 함).

  4. 이미지 캡처를 다시 수행하여 자르기 결과를 확인합니다.

파라미터 탭 화면 오른쪽 상단에 있는 이미지 업데이트 버튼을 클릭하고 파라미터를 조정한 후 Canvas 창에 있는 이미지가 자동으로 업데이트됩니다.
  1. 코드 생성 탭 아래에서 코드 삽입 버튼을 클릭하여 대응한 코드를 생성하십시오.

  2. 다른 데이터 유형을 위해 이미지 캡처 영역을 설정해야 하려면 다음과 같이 작업하십시오.

    1. 현재 도우미 패널에서 카메라 연결을 끊으십시오.

    2. 새로운 도우미 창을 열어 카메라를 연결하십시오.

    3. 원하는 데이터 유형을 선택하여 위 작업을 다시 수행하십시오.

  • 위의 네 가지 이미지 캡처 영역과 관련된 파라미터는 파라미터 그룹에 저장되지 않습니다. 카메라의 전원이 꺼지면 해당 파라미터의 값이 재설정됩니다. 파라미터 값을 기록하려면 코드를 생성하고 저장하십시오.

  • DeviceScanTypeScan3DBinningEnable 파라미터를 수정하면 위에서 언급한 네 가지 파라미터의 값도 리셋됩니다.

이미지 캡처 영역과 Scan3DROI의 차이점

Mech-Eye 산업용 3D 카메라는 ROI 영역을 설정하기 위한 또 다른 파라미터들을 제공합니다. Scan3DROILeft, Scan3DROITop, Scan3DROIHeightScan3DROIWidth (총체적으로 "Scan3DROI" 라고 부름).

이미지 캡처 영역을 설정하는 파라미터와 Scan3DROI의 차이점은 아래 표에 나와 있습니다. 구체적인 수요에 따라 사용할 파라미터를 선택하십시오.

이미지 캡처 영역 Scan3DROI

파라미터 그룹에 저장되지 못하며 카메라 전원이 꺼지면 파라미터 값이 초기화될 것입니다.

파라미터 그룹에 저장될 수 있습니다.

2D 이미지와 뎁스 맵을 설정할 수 있습니다.

2D 이미지를 설정할 수 없습니다.

이미지를 자릅니다.

이미지를 자르지 않습니다.

HALCON에서만 설정할 수 있습니다.

Mech-Eye Viewer 중의 시각화 도구를 사용하여 설정할 수 있습니다.

파라미터 조정

캡처한 이미지의 효과가 좋지 않으면 파라미터 탭에서 해당한 파라미터를 조정할 수 있습니다.

  • 카메라는 파라미터 그룹 기능을 지원하며 카메라의 파라미터 구성은 파라미터 그룹을 전환하여 빠르게 전환될 수 있습니다. 먼저 파라미터 값을 저장하기 위해 사용할 파라미터 그룹을 선택한 다음 파라미터를 조정해야 합니다.

  • 파라미터 그룹을 추가하거나 삭제하려면 Mech-Eye Viewer를 통해 설정하십시오. Mech-Eye Viewer에서 파라미터를 설정한 후 HALCON 파라미터 탭 아래에서 오른쪽 상단의 리프레쉬 버튼을 클릭하여 카메라의 최신 구성 정보를 읽습니다.

다음 작업을 수행하여 파라미터를 조정하십시오.

  1. 카메라가 연결된 후 파라미터 탭을 클릭하고 파라미터 UserSetSelector를 수정하려는 파라미터 그룹으로 설정합니다.

    select parameter group
  2. UserSetLoad 파라미터를 찾아 오른쪽에 있는 적용 버튼을 클릭하여 구성 정보를 읽어냅니다.

    적용 버튼을 클릭한 후에도 각 파라미터의 값이 업데이트되지 않으면 다시 클릭하십시오.

  3. 수정하려는 파라미터를 찾아 파라미터 값을 수정하십시오.

  4. UserSetSave 파라미터를 찾아 오른쪽에 있는 적용 버튼을 클릭하여 구성 정보를 저장합니다.

  5. 코드 생성 탭 아래에서 코드 삽입 버튼을 클릭하여 대응한 코드를 생성하십시오.

참조 정보

  • GenICam에서 지원하는 카메라 파라미터는 Mech-Eye Viewer에서 제공하는 파라미터와 기본적으로 일대일 대응합니다. 상세한 정보는 GenICam 지원하는 카메라 파라미터 내용을 참조하십시오.

  • 자동 노출 ROI , 뎁스 범위 설정 , ROI와 같은 카메라 파라미터를 설정할 때 이상적인 값을 얻기 위해 시각화 도구를 사용하여 지속적으로 조정해야 하는 경우가 많습니다. HALCON은 파라미터를 설정하는 데 사용할 수 있는 시각화 도구를 제공하지 않으므로 Mech-Eye Viewer의 시각화 설정 도구를 사용하여 이러한 파라미터들을 설정할 수 있습니다. 상세한 정보는Mech-Eye Viewer를 통해 GenICam 클라이언트를 위해 카메라 파라미터를 설정하기 내용을 참조하십시오.

Mech-Eye Viewer를 통해 카메라를 연결하기 전에 카메라와 HALCON 사이의 연결을 먼저 끊어야 합니다. 여전히 연결되지 않을 경우 HALCON 소프트웨어를 닫고 다시 연결해 보십시오.

HALCON 예제 프로그램을 사용하기

GitHub에서 다양한 HALCON 예제 프로그램을 제공합니다. 이 부분에서는 connect_to_camera_and_capture_images 예제 프로그램을 사용하여 카메라 연결, 이미지 캡처, 파라미터 수정 및 데이터 저장 등 기능을 실현하는 방법에 대해 소개하겠습니다. 사용자는 직접 사용하거나 프로젝트 요구 사항에 따라 이 프로그램을 수정할 수 있습니다.

HALCON 예제 프로그램은 C++ 언어를 통해 작성되며 HALCON 소프트웨어의 HDevelop 통합 개발 환경에서 직접 실행될 수 있습니다.

예제 프로그램 실행

다음과 같이 예제 프로그램을 실행하십시오.

  1. Code  Download ZIP를 클릭하여 connect_to_camera_and_capture_images 예제 프로그램을 획득하십시오.

  2. HALCON에서 예제 프로그램을 열기: HALCON 소프트웨어를 부팅하고 예제 프로그램을 HALCON의 프로그램 에디터 화면으로 드래그합니다.

  3. 프로그램 에디터 화면에서 info_framegrabber 연산자가 있는 줄을 선택하여 툴 바의 step over를 클릭하거나 키보드에 있는 F6 버튼을 눌러 실행하십시오.

  4. 컨트롤 변수 영역의 DeviceInfos를 더블 를릭하면 연결될 수 있는 모든 카메라를 확인할 수 있습니다.

    camera information 1
  5. 카메라를 선택하고 더블 클릭하며 unique_name: 또는 user_name: 뒤에 있는 카메라 명칭 내용을 복사하십시오.

    camera information 3
    user_name는 사용자가 자체 정의한ㄴ 카메라 이름입니다. Mech-Eye Viewer에서 설정할 수 있습니다.
  6. 아래와 같은 명령줄을 찾아 MechEyeunique_name 또는 user_name 내용으로 대체하십시오.

    DeviceInfo := 'MechEye'
  7. 툴 바에 있는 run 버튼을 클릭하거나 키보드의 F5 버튼을 눌러 예제 프로그램을 실행하십시오.

  8. 예제 프로그램이 성공적으로 실행되면 실행 과정이 완료된 후 폴더에서 이번 실행에서 캡처된 2D 이미지와 포인트 클라우드(기본적인 파일 명칭: image2d.bmp, PointCloud.ply)를 확인할 수 있습니다.

  • 예제 프로그램 실행 과정이 종료된 후 툴 바에 있는 reset 버튼을 클릭하여 프로시저 실행을 초기화해야 합니다. 그렇지 않으면 Mech-Eye Viewer에서 해당 카메라를 연결할 수 없는 문제를 초래할 수 있습니다.

  • Canvas 창에서 포인트 클라우드가 표시되면 :Continue 버튼을 클릭하여 프로시저를 계속 실행하십시오. 그렇지 않으면 프로시저가 visualize_object_model_3d 연산자에서 멈추게 됩니다.

  • 카메라의 이미지 캡처 시간이 매우 길면 카메라의 MTU 값을 늘리고 컴퓨터에서 점보 프레임 기능을 활성화할 수 있습니다.

  • 네트워크 상태가 좋지 않아 데이터가 손실된 경우 다음 명령을 사용하여 손실된 데이터 패킷 최대 허용 개수를 늘릴 수 있습니다.ParameterValues는 변경한 후의 최대 허용 개수로 대체됩니다.

    set_framegrabber_param (AcqHandle, '[Stream]GevStreamMaxPacketGaps', ParameterValues)

파라미터 조정

캡처한 이미지의 효과가 좋지 않으면 해당한 파라미터를 조정할 수 있습니다.

  • 카메라는 파라미터 그룹 기능을 지원하며 카메라의 파라미터 구성은 파라미터 그룹을 전환하여 빠르게 전환될 수 있습니다. 카메라 파라미터는 지정된 파라미터 그룹에서 설정해야 합니다.

  • 파라미터 그룹을 추가하거나 삭제하려면 Mech-Eye Viewer를 통해 설정하십시오.

다음 작업을 수행하여 파라미터를 조정하십시오.

  1. 아래와 같은 연산자를 통해 카메라의 파라미터 리스트를 획득합니다.

    get_framegrabber_param (AcqHandle, 'UserSetSelector_values', ParameterValues)
  2. 컨트롤 변수 영역의 ParameterValues에서 모든 파라미터 그룹의 이름을 확인합니다.

  3. 아래 연산자를 통해 수정하려는 파라미터 그룹을 선택합니다.UserSetSelectorUserSetLoad는 각각 파라미터 그룹을 선택하고 로드하는 데 사용되는 카메라 파라미터입니다.ParameterGroupName을 실제 파라미터 그룹 이름으로 대체합니다.

    set_framegrabber_param (AcqHandle, 'UserSetSelector','ParameterGroupName')
    set_framegrabber_param (AcqHandle, 'UserSetLoad','ParameterGroupName')
  4. 아래 연산자를 통해 지정한 파라미터의 값을 획득합니다.ParameterName을 실제 카메라 파라미터 그룹의 이름으로 대체합니다.ParameterValues는 획득한 파라미터의 값을 저장하는 변수이고 수요에 따라 조정될 수 있습니다. 변수는 따옴표로 묶을 필요가 없습니다.

    get_framegrabber_param (AcqHandle, 'ParameterName', ParameterValues)
  5. 컨트롤 변수 영역의 ParameterValues에서 해당 파라미터의 수치를 확인합니다.

  6. 아래 연산자를 통해 파라미터 설정을 수정합니다.ParameterName을 실제 카메라 파라미터의 이름으로 대체하고 새로운 파라미터 값으로 NewParameterValue를 대체합니다.

    set_framegrabber_param (AcqHandle, 'ParameterName', 'NewParameterValue')
  7. 아래 연산자를 통해 파라미터 설정을 파라미터 그룹으로 저장합니다.UserSetSave는 파라미터를 파라미터 그룹으로 저장하는 데 사용되는 카메라 파라미터입니다.ParameterGroupName을 실제 파라미터 그룹 이름으로 대체합니다.

    set_framegrabber_param (AcqHandle, 'UserSetSave', 'ParameterGroupName')

참조 정보

  • GenICam에서 지원하는 카메라 파라미터는 Mech-Eye Viewer에서 제공하는 파라미터와 기본적으로 일대일 대응합니다. 상세한 정보는 GenICam 지원하는 카메라 파라미터 내용을 참조하십시오.

  • 자동 노출 ROI , 뎁스 범위 설정 , ROI와 같은 카메라 파라미터를 설정할 때 이상적인 값을 얻기 위해 시각화 도구를 사용하여 지속적으로 조정해야 하는 경우가 많습니다. HALCON은 파라미터를 설정하는 데 사용할 수 있는 시각화 도구를 제공하지 않으므로 Mech-Eye Viewer의 시각화 설정 도구를 사용하여 이러한 파라미터들을 설정할 수 있습니다. 상세한 정보는 Mech-Eye Viewer를 통해 GenICam 클라이언트를 위해 카메라 파라미터를 설정하기 내용을 참조하십시오.

    Mech-Eye Viewer를 통해 카메라를 연결하기 전에 카메라와 HALCON 사이의 연결을 먼저 끊어야 합니다. 여전히 연결되지 않을 경우 HALCON 소프트웨어를 닫고 다시 연결해 보십시오.

저희는 귀하의 개인 정보를 소중하게 생각합니다.

당사 웹사이트는 귀하에게 최상의 경험을 제공하기 위해 쿠키를 사용합니다. "모두 수락"을 클릭하시는 경우, 귀하는 사의 쿠키 사용에 동의하게 됩니다. "모두 거부"를 클릭하시는 경우, 귀하가 이 웹사이트를 방문할 때 추적되거나 기억되지 않도록 하기 위해 단일 쿠키가 사용됩니다.