Vpro 지원 카메라
- 지원 카메라 여부는 코그넥스 홈페이지 내 지원 페이지에서 확인 가능하다.
- 현재 가지고 있는 카메라가 지원 목록에 있다면 CogframeGrabber 클래스에서 인식이 가능하며
목록에 없는 카메라도 간혹 CogframeGrabbers 클래스에 인식하는 경우가 있지만 카메라 제어에 예상치 못한 문제가 생길 수 있다.
ICogImage 취득
- 다음은 CogframeGrabbers 클래스에 첫번째 인식 된 카메라를 8비트 흑백 이미지로 출력하는 소스다.
- 사용하는 카메라가 칼라라면 지원 videoformat중 원하는 format으로 설정해서 Create하면 된다.
- StartAcquire 함수 실행 후 카메라가 동작을 완료하면 Complete이벤트가 발생하고
CompleteAcquireEX함수가 리턴하는 ICogImage를 이용하여 로직을 구현하면 된다. - VisionPro는 기본적으로 함수 입력 이미지가 ICogImage로 되어 있다.
- 여러가지 이미지 포멧들을 ICogImage로 컨버트해서 사용하거나 카메라에서 직접 ICogImage로 취득해서 사용한다.
using Cognex.VisionPro;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
private ICogAcqFifo acqFifo;
public Form1()
{
InitializeComponent();
InitFramegrabbers();
}
private void InitFramegrabbers()
{
CogFrameGrabbers grabbers = new CogFrameGrabbers();
if(grabbers.Count > 0)
{
ICogFrameGrabber gb = grabbers[0];
CogStringCollection videoFormat = gb.AvailableVideoFormats;
acqFifo = gb.CreateAcqFifo(videoFormat[0], CogAcqFifoPixelFormatConstants.Format8Grey, 0, true);
acqFifo.Complete += AcqFifo_Complete;
}
}
private void AcqFifo_Complete(object sender, CogCompleteEventArgs e)
{
ICogAcqInfo acqInfo = new CogAcqInfo();
ICogImage resultImage = acqFifo.CompleteAcquireEx(acqInfo);
}
private void OneShot()
{
acqFifo.StartAcquire();
}
}
}