Lindeni Forum

Full Version: Motion Detection
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
What is the right way to do motion detection with the V5?

I would like to draw boxes around the motion in my video.  Currently, I am using the DTCA API (AW_AI_CVE_DTCA_Process()) to get a target list and then draw boxes around the targets in the image.  Is this the right way to do this?  I would say the results are sporadic.  Sometimes the motion is detected/identified and sometimes not.  Are there any more documents/examples (besides the slim DTCA doc and sample) on how to tune the DTCAParam file (params_cvedtca.xml) and how to calibrate DTCA (params_cveclbr.xml)?  There seem to be a lot of options in the DTCAParam file (like tripwire, loiter, etc..) but I am only getting 'perimeter' events.  Is that because only 'perimeter' is in the 'funcs' section?  If so, how do I add the others.  I would like to detect if a target is loitering in an area but I can't get it to work.

I am making a stationary IP camera.  Is the Head Count (HCNT) library a better thing to use? 

Is it possible to detect motion from the output of the H264 encoder?  For instance, is there an easy way to get at the Motion Vectors in the P Slices besides parsing the bitstream directly?

Finally, is there a raw image detector like in the V3?  I believe in that chip there was a library to which I could submit a small scale image and it would detect motion.  Is there anything like that for the V5 ?
There is also this, but how do you get the region where the motion occurred?

/**< reference type: MotionParam(write only) */
/**< reference type: int(read only) */

typedef struct MotionParam {
int nMotionDetectEnable;
int nMotionDetectRatio; /* 0~12, advise set 0 */
int nStaticDetectRatio; /* 0~12, should be larger than
nMotionDetectRatio, advise set 2 */
int nMaxNumStaticFrame; /* advise set 4 */
double nStaticBitsRatio; /* advise set 0.2~0.3 at daytime, set 0.1
at night */
double nMV64x64Ratio; /* advise set 0.01 */
short nMVXTh; /* advise set 6 */
short nMVYTh; /* advise set 6 */