프로그래밍 방식으로 NI-IMAQdx 속성 가져오기 및 설정하기

업데이트 됨 Oct 18, 2022

환경

소프트웨어

  • LabVIEW

드라이버

  • NI-IMAQdx
  • NI-IMAQ

다른

IEEE 1394용 IMAQ

  • NI-IMAQdx를 사용하여 밝기, 셔터 속도 및 게인과 같은 카메라 속성을 프로그래밍 방식으로 어떻게 설정할 수 있습니까?
  • 최근 IEEE 1394용 NI-IMAQ에서 NI-IMAQdx로 마이그레이션했습니다. 이전에는 C의 IMAQ1394GetAttribute 또는 IMAQ 1394 프로퍼티 노드의 Attr 프로퍼티를 사용했습니다. NI-IMAQdx에서 이러한 옵션을 어디에서 찾을 수 있습니까?

LabVIEW 및 텍스트 기반 언어에서 카메라 속성을 프로그래밍 방식으로 설정하려면 아래 정보를 참조하십시오.


LabVIEW를 사용하는 경우

IMAQdx 프로퍼티 노드를 사용하여 LabVIEW에서 카메라 속성을 설정하십시오. IMAQdx 프로퍼티 노드를 찾으려면 다음과 같이하십시오.
  • 함수 팔레트에서 비전과 모션 >> NI-IMAQdx로 이동하십시오.
  • 블록 다이어그램에 프로퍼티 노드를 놓고 마우스 오른쪽 버튼을 클릭한 다음 클래스 선택 >> IMAQdx 로 이동합니다.
프로퍼티 노드를 구성하는 방법에 대한 자세한 내용은 NI-IMAQdx Concepts Help 문서의 Camera Attributes in LabVIEW 항목을 참조하십시오(NI-IMAQdx Concepts Help >> Using NI-IMAQdx in LabVIEW >> Acquisition Types >> Camera Attributes in LabVIEW). 위 링크를 클릭하면 도움말 문서의 zip 파일이 컴퓨터에 다운로드됩니다.

GigE 비전 카메라를 사용하는 경우, NI-IMAQdx Concepts Help 문서의 Programmatically Controlling Camera Settings 항목을 참조하십시오 (NI-IMAQdx Concepts Help >> Acquiring from GigE Vision Cameras >> Programmatically Controlling Camera Settings).

아래 그림은 IEEE 1394용 IMAQ 프로퍼티 노드 대비 IMAQdx 프로퍼티 노드를 구성하여 카메라의 밝기 수준을 변경하는 방법의 예를 보여줍니다.
 

텍스트 기반 언어를 사용하는 경우

특정 속성 값 또는 설정을 가져 오려면 IMAQdxGetAttribute 함수 호출을 사용하십시오. 속성의 정확한 이름이나 값을 모를 경우 IMAQdxEnumerateAttributes2 및 IMAQdxEnumerateAttributeValues 를 호출하여 이 데이터를 반환 할 수 있습니다.

사용 가능한 속성 값의 수를 미리 모르는 경우 다음 단계를 완료하여 이 정보를 얻을 수 있습니다.

  1. attributeInformationArray 매개 변수를 NULL로 설정하여 IMAQdxEnumerateAttributes2 함수를 호출하십시오. 그런 다음 필요한 크기가 Count에 저장됩니다.
  2. 지정된 크기로 Count를 할당하십시오.
  3. 이전에 할당 된 배열을 사용하여 이 함수를 다시 호출하십시오.


list 매개 변수를 NULL로 설정하여 IMAQdxEnumerateAttributeValues 에 대해 동일한 단계를 수행 할 수 있습니다. 이 매개 변수는 필요한 크기를 size로 저장합니다. 이러한 기능과 텍스트 기반 언어를 위한 다른 IMAQdx 함수의 사용에 관한 더 자세한 정보는 National Instruments \NI-IMAQdx\Docs 에있는 NI-IMAQdx 함수 참조 도움말을 참조하십시오.

Additional Information

NI-IMAQdx 드라이버를 사용하면 문자열 입력을 사용하여 카메라 속성을 동적으로 얻을 수 있습니다. 이 변경의 이유는 IMAQ 1394 드라이버에서는 모든 카메라가 DCAM 호환 및 특정한 속성 집합을 가졌기 때문입니다. IMAQdx 드라이버에는 다양한 특성을 지닌 많은 카메라가 지원됩니다. 따라서 기능 세트 목록을 열거하는 대신 사용자가 특정 카메라에 사용할 수있는 속성을 선택해야합니다.

 
LabVIEW 사용시 추가 문제 해결

error: -1074360305 attribute not supported by the camera 와 같은 에러가 발생하거나 ActiveAttribute 프로퍼티로 전달할 속성 문자열이 확실하지 않은 경우 IMAQdx Enumerate Attributes VI를 사용하여 속성의 정확한 문자열에 대한 정보를 추출합니다. 이 속성은 읽기 가능하거나 쓰기가 가능하지 않으며 입력을 위해 받아 들일 수있는 데이터 유형은 아닙니다.

IMAQdx Enumerate Attributes VI는 카메라에 대해 사용 가능한 모든 프로퍼티를 표시하며 그에 따라 인덱싱 될 수 있습니다. 표시되는 프로퍼티는 세션에 포함되어 있는 카메라에만 적용되며, 이는 프로퍼티 노드가 참조를 받게 됩니다.

LabVIEW에서 이러한 함수 및 다른 IMAQdx 함수를 사용하는 것과 관련된 더 자세한 정보는 NI-IMAQdx VI Reference Help 를 참조 하거나 NI 예제 찾기에서 Grab and Attribute Setup.vi를 참조하십시오. 위 링크를 클릭하면 도움말 문서의 zip 파일이 컴퓨터에 다운로드됩니다.