我最近在opencv中从OpenCv切换到Emgu CV ..我使用cvAbsDiff(Frame1,Frame2,foreground);
计算了绝对差异
我可以检查帧差异的值为:if(cvNorm(frame2,frame1) > xyz){ ... }
在Emgu cv中,我计算为:Difference = Previous_Frame.AbsDiff(Frame);
正如解释Here差异的类型是图像..我想知道,我怎样才能得到差值(双倍)?
谢谢:))
答案 0 :(得分:1)
你能更多地澄清一下你的问题吗?
但是使用CvInvoke,你可以这样做:
CvInvoke.cvAbsDiff(frame1, frame2, foreground);
double valueInDouble = CvInvoke.cvNorm(frame1, frame2, NORM_TYPE.CV_DIFF, IntPtr.Zero);
if (valueInDouble < xyz){}
Mask是一个可选参数(在OpenCV文档中设置为NULL),因此您可以将其设置为IntPtr.Zero