2013-03-06 70 views
1

我最近從OpenCV的切換到Emgu CV .. OpenCV中,我使用計算cvAbsDiff(Frame1,Frame2,foreground); ,我可以檢查幀差作爲的值絕對差:if(cvNorm(frame2,frame1) > xyz){ ... } 並在這裏Emgu簡歷,我計算方式如下:Difference = Previous_Frame.AbsDiff(Frame); 如解釋Here差異的類型是圖片..我想知道,我怎麼能得到的價值(雙)的差異? 謝謝:)絕對差值EmguCv

回答

1

你能澄清你的問題多一點嗎?

但使用CvInvoke,你可以這樣做:

CvInvoke.cvAbsDiff(frame1, frame2, foreground); 
double valueInDouble = CvInvoke.cvNorm(frame1, frame2, NORM_TYPE.CV_DIFF, IntPtr.Zero); 

if (valueInDouble < xyz){} 

面膜是一個可選的參數(OpenCV的文檔中設置爲NULL),這樣你就可以將它設置爲IntPtr.Zero

+0

感謝奧利弗:)。 。我試過這個,但我被困在設置面具的價值..我應該提供什麼樣的價值來獲得正常的差異價值.. cz它是IntPtr類型..我應該給它第二幀的副本? – Zeeshan 2013-03-06 18:13:11

+0

嘗試使用IntPtr.Zero – Oliver 2013-03-07 13:42:47

+0

我已閱讀[http://www.emgu.com/wiki/files/1.3.0.0/html/43dce521-0a5c-44af-4160-9b3f986c5518.htm]但我真的無法理解在這裏使用「面具」的東西.. :(我卡住..預先感謝:) – Zeeshan 2013-03-07 16:25:05