2012-08-03 39 views
3

我對通過物流實時圖像顯微鏡工作內置攝像機到電腦,在那裏可以將流圖像進行進一步的圖像處理。在流式傳輸的圖像上進行的任何處理都必須以「實時」方式完成(最小幀丟失)。檢測,如果圖像是在實時不同

我們採取了一系列的靜態圖像的平均反擊從相機隨機噪聲,以提高我們的一些圖像處理例程的輸出。 我的問題是:我如何知道圖像是否不再是靜態的 - 被檢樣品是移動還是旋轉/照相機放大或縮小 - 所以我可以重置用於平均的圖像系列?

我翻閱了一些主題,以及一些看起來很有意思的想法: 注:使用Windows,C++和Intel IPP。通過IPP,圖像是一個字節數組(Ipp8u)。 (?正常散列或感性哈希) 1散列的圖像,並比較散列 2.使用標準化的互相關(IPP有很多變化 - 它使用)

哪你們認爲是適合我情況(速度)?

+0

你有沒有考慮過使用OpenCV? – 2012-08-03 09:40:45

回答

1

所以,要儘量將採取後續的圖像,從彼此減去他們,看看差別最簡單的事情。然後定義一些規則,其中包括局部和全局閾值,其中兩幅圖像被認爲是相等的。簡單地減少位圖/陣列數據,尋找最大值並計算整個事物的平均差異應該是實時做的問題。

4

如果您的相機不動搖,您可以像inVader所說的那樣減去圖像。然後,差分圖像的所有像素的絕對值的總和有時足以說明圖像是相同還是不同。但是,如果你的噪音,照明水平等等變化,這不會給你一個足夠好的信噪比。 而在noizy條件下,正常的哈希函數更無用。

最好的是要確定您的對象的某些功能已經改變,喜歡它的邊界(如果是普通)或它的質心(如果是不規則的)。如果您有邊界位置,則需要分析垂直於該邊界的一行像素,以確定邊界已移動。 質心位置可能會經常出現假陰性反應,但添加總質量和/或慣性矩可能會有所幫助。

如果相機抖動,您可能需要在比較之前對齊圖像(取決於比較方法和要求的精度,單個像素錯位可能是巨大的),而這也正是互相關幫助。

此外,您不必分析每個圖像。你可以跳過一個,如果下一個不同,就丟棄它們。在這裏,你有兩倍的時間來分析圖像。 如果您要對圖像進行平均,您可能只需定義所需圖像的最佳數量,然後僅比較序列中的第一張和最後一張圖像。

0

如果光照條件不同或以可預測的方式移動(如開門和關門),那麼更強大的功能(如較慢的背景建模的高斯混合模型)可能值得研究,click here。它非常計算密集型,但可以很容易地進行並行處理。

0

首先,我將採取一系列圖像以緩慢速度的FPS和下采樣的圖像,使它們更小,不會太多,但足以加快這一進程。

現在,你有幾種選擇:

你可以通過減去他們做的兩個圖像的絕對差之和使用閾值來如果圖像發生了變化。

如果你想進一步加速,我會建議使用小內核進行漸進式SAD,並從圖像的頂部移動到底部。你可以在這個過程中評估差異化的差異,並在你滿意時最終停下來。