You have to provide the acquired images to the auto control to make it work. To do this, use the "peak_IPL_ProcessFrame" function after receiving the images with "peak_Acquisition_WaitForFrame". If the IDS peak IPL is used exclusively for auto control, the "peak_IPL_ProcessFrameInplace" function can be used to avoid copying the image data unnecessarily.
comfortC
|
peak_status status = PEAK_STATUS_SUCCESS;
status = peak_IPL_PixelFormat_Set(hCam, PEAK_PIXEL_FORMAT_RGB8);
if (PEAK_ERROR(status)) { /* Error handling ... */ }
peak_frame_handle hFrame;
peak_frame_handle hResultFrame;
while (running)
{
status = peak_Acquisition_WaitForFrame(hCam, 5000, &hFrame);
if (PEAK_ERROR(status)) { /* Error handling ... */ }
status = peak_IPL_ProcessFrame(hCam, hFrame, &hResultFrame);
if (PEAK_ERROR(status)) { /* Error handling ... */ }
// release original image
status = peak_Frame_Release(hCam, hFrame);
if (PEAK_ERROR(status)) { /* Error handling ... */ }
// if IDS peak IPL is needed only for auto features, you can use peak_IPL_ProcessFrameInplace()
// do something with the processed image
// release processed image
status = peak_Frame_Release(hCam, hResultFrame);
if (PEAK_ERROR(status)) { /* Error handling ... */ }
}
|