Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

frame versus semi-frame grabbing

We are attempting to grab an image frame from a PAL compliant video source using an extension of the HLGrab.c example.

The specific capture code is:
errChk(imgSessionCopyBufferByNumber(Sid, currBufNum, userCopyBuffer, IMG_OVERWRITE_GET_NEWEST, &actualCopiedBuffer, NULL));

The configuration of the framegrabber follows the example HLGrab.c.

That attached jpg is cropped from one of the captured images.  It appears that we might be grabbing semi-frames and not the entire frame.  Is there a way to verify that we are capturing complete frames and not semi-frames? 


0 Kudos
Message 1 of 3
(3,330 Views)

What are you taking a picture of?  It looks like it is changing rapidly.  An uncompressed image would have been a little more useful, since jpg takes out a lot of the details.

A PAL camera is analog video with interlaced fields.  One field is captured as odd lines, then the other field is captured as even lines.  There is a delay between the two fields of about 1/25 second (or 1/30 second).  If your object changes appearance during this time, the odd and even lines look completely different.  This can happen with fast moving objects, and it can also happen with LCD displays and the like that scan rapidly.

The best solution for this is to use a non-interlaced camera.  Most digital cameras are non-interlaced and take the entire frame at once.  They do cost a bit more, but the results are significantly better.  Another option is to only look at the odd or even lines (or both if you run the camera in field mode).  The main problem with field mode is that the image is distorted.

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 2 of 3
(3,315 Views)
We will investigate the non-interlaced output from this camera.

The field of view for this image is static: no motion.

0 Kudos
Message 3 of 3
(3,294 Views)