2012-08-11 57 views
0

我用攝像頭捕捉我的電腦屏幕和一面鏡子。 現在我想調整屏幕到鏡子,對於屏幕上的每個像素來調整鏡像中的像素 我附加了視頻中的一幀。在matlab中調整兩個視頻

我正在尋找代碼或想法。 enter image description here

我添加圖片的一些例子:

enter image description here enter image description here

enter image description hereenter image description here

+1

查看鏈接[SURF_FLANN](http://docs.opencv.org/2.4.1/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html) – G453 2012-08-12 10:32:31

+0

是否有像FlannBasedMatcher一樣的matlab函數? – Beno 2012-08-12 21:17:55

+1

這是整個程序的鏈接[Matlab_surf](http://www.mathworks.com/matlabcentral/fileexchange/28300-opensurf-including-image-warp) – G453 2012-08-12 21:20:42

回答

0

你正在尋找的算法是關鍵點檢測和匹配。有幾種算法可以完成這項工作(SURF,SIFT,ORB,FREAK等),這個過程涉及三個步驟。

  1. 特徵點檢測。

  2. 爲模板圖像和目標圖像的每個關鍵點生成描述符。

這兩個階段的算法是SURF,SIFT,ORB等請參閱opencv特徵檢測部分了解更多細節。

在兩個圖像

這可以通過使用KNN匹配來完成

  • 匹配的關鍵點,基於FLANN匹配,暴力破解匹配器等

    這裏是matlab和opencv中的鏈接。

    MatLab_SURF

    Opencv_Feature Detection

    你的情況的原因SURF算法失敗:

    同時匹配兩個圖像是在兩個不同的場景中的物體,我們需要採取以下條件考慮:

    1. 在圖像之間發生了哪種轉換,是否會出現E或觀點,或只是一個平移或旋轉等......

      在你的情況下,它看起來像透視變換...

    2. 圖像是否有豐富的口感和品質。 在您的情況下,圖像紋理豐富,但質量差或細節丟失可能是由低分辨率相機拍攝的。

    見我的回答了類似的問題Here

    我的第一個建議是首先捕獲有更優質的數據集。因此,Keypoint檢測算法更容易找到好的關鍵點,一旦基本算法準備就緒,然後進行改進,使其適用於分辨率差的數據集。

  • +0

    我很抱歉,但此算法無法正常工作,不給我正確的答案。甚至不接近。我在尋找算法,認爲電影是相互轉化的 – Beno 2012-08-18 15:50:35

    +0

    嗨,你可以上傳你的數據集的一些示例圖像,這樣我就可以知道什麼是問題了。 – G453 2012-08-18 16:39:56

    +0

    是的,我會上傳相同的例子tommorw。感謝您的幫助 – Beno 2012-08-18 22:01:24