2012-03-30 55 views
1

我正在一個項目中,我需要突出顯示一對文本掃描圖像之間的差異。opencv或imagemagick突出差異

示例圖像是herehere

我正在構建一個基於HTML,JS的web應用程序。 我發現openCV確實支持突出顯示2張圖片之間的差異。 另外我看到imageMagick也有這樣的支持。 openCV是否支持自動註冊圖像? 是否有一個用於openCV的JS模塊? 哪一個更適合我的目的?

+0

這個任務是不平凡的。 – karlphillip 2012-03-30 18:38:57

回答

2

1.簡單的方法:

假設圖像被完全對齊並且類似地照亮:由像素從另一像素減去一個圖像,則閾值的結果,篩選出嘈雜斑點,並選擇最大的。適合學校項目

2.有點複雜: 對齊圖像,然後找到一種方法來統一照度,然後應用簡單的方法。 如何對齊:

  • 查找兩個圖像中的文本區域,因爲它比文件顏色更暗。
  • 查找其角
  • 使用getPerspectiveTransform()查找圖像之間的轉換。
  • warpPerspective()一個圖像到另一個。

註冊兩幅圖像的另一種方法是通過特徵匹配。它在OpenCV中有相當廣泛的支持。而findHomography()將從一組更大的匹配點估計兩幅圖像之間的姿勢。

3.標準答案: 對齊圖像。 使用OCR引擎將其轉換爲文本。 比較兩幅圖像中的文字。

+0

thanks.Is找到一個openCV庫的一部分? – code4fun 2012-03-30 19:22:21

+0

好的,函數名是'getPerspectiveTransform()'; – Sam 2012-03-31 11:21:45

+0

,實際上我在使用ImageMagick方面取得了一些初步的成功,但現在我正在處理一些更復雜的文本圖像,比如這裏的一個。 HTTP:// imgur。com/YJekv,Xpebk#0你可以建議openCV的特徵匹配是否可以用於這些圖像,因爲這些圖像中的字母大小也不同 – code4fun 2012-05-15 21:13:01

1

那麼,除了vasile提供的巨大幫助,你還需要web應用程序的答案。 爲了使其在服務器中工作,您可能需要一個文件上載表單,以及服務器應用算法的答案。根據您擁有的服務器限制,您可以通過多種方式來完成此操作。如果你可以運行命令行參數,你可能需要在opencv中實現高亮算法,並將兩個輸入文件作爲輸出文件傳遞給程序。應該使用php腳本上傳文件,調用命令行程序,並將結果輸出給用戶。 另一種方法可能是在諸如Apache Tomcat的Web容器中使用Java和JavaCV。

最好的問候, 丹尼爾