2017-05-05 81 views
0

目前正在一個副項目上工作,但我被困在一大部分。檢測相同的圖像?

目標是用戶可以從包含6個圖像/圖標的不同流行應用截圖。我需要它,所以當用戶進入我的應用程序時,他們可以上傳截圖,我可以檢測到6個圖像並將它們放入一個集合視圖中。

問題是檢測屏幕截圖中的6個圖像的類型,我想過使用像Tesseract這樣的OCR,但我不確定這是否會工作,因爲屏幕截圖中只有零個文本,只有6個圖像。可能有幫助的是,在該應用程序中,只有50種圖像。會創建某種圖像數據庫的幫助?但是,我會如何比較它們?

我很抱歉,如果這沒有任何意義,我只是不知道該怎麼說。任何幫助都會很棒。

+0

所以你想比較一個圖像與一組圖像,並因此給它一個標籤? –

+0

是的,我想從屏幕截圖中檢測出6幅圖像,並將它們與一組圖像進行比較。只是不確定如何比較它們彼此。 – Gum

+0

我認爲我們的目標是使用類似於人臉識別的東西來嘗試在屏幕截圖中找到6張圖片。這聽起來像一個複雜的計算機視覺類型問題。 –

回答

0

假設您希望能夠跨多種類型的設備執行此操作,像OpenCV這樣的計算機視覺庫可能就是要走的路。

如果你的用戶總是在同一個設備上運行應用程序(總是在iPhone 5上),那麼這些圖標可能會始終落在同一個位置,你可以簡單地截屏,提取組件圖像,並對子圖像進行字節比較。但是,您可以使用iPhone 4,iPhone 5,iPhone 6,6+屏幕尺寸,iPad,iPad視網膜,iPad Pro(小尺寸和大尺寸)進行處理,以及可能的縱向和橫向方向。據推測,這6個圖像將落在所有這些不同設備的屏幕上的不同位置,並且您將擁有不同的圖像分辨率。使用OpenCV,您應該能夠通過「查看」屏幕截圖來查找圖像的邊界矩形,而不是構建複雜的規則集。

0

查看OpenCV示例代碼以匹配SIFT功能(python版本here,但您也可以在其他語言中找到示例)。它演示了你想要做的更簡單的版本。