2013-09-22 49 views
0

如果我有以下的4張圖片:如何使用光學字符識別來確定圖像中的數字是相同還是不同?

6

5

9

6

我怎麼能確定這兩個「6分的相同,但5和6 ,6和9,9和5等都不是?

圖像將始終是單色(即只有黑白,沒有其他顏色)

目前,我簡單地計算圖像中的黑色像素的數量,而且似乎工作沒關係,但我不確定它是否可靠或者是否有更好的方法。在上面的例子中,'6's都有29個黑色像素,而5有26個,而9有28個。所以6和9之間的差異只有1個像素。但是在其他字體中,9和6具有相同數量的像素。 E.g:

6

6

雙雙拿到前景像素的相同數量。

+1

你的意思是圖像相同或識別檢測到相同的數字?通過單色,你的意思是沒有灰色陰影?您是否嘗試過使用OCR庫來檢測數字並查看檢測結果是否匹配? 6和9應該幾乎相同,因爲其中一個是顛倒的。 –

+0

@PeterLawrey我只有這些圖像,並且我需要確定它們是否重複。不能使用任何現有的OCR,需要自己寫。是的,完全單色,除白色和黑色外無顏色。 – user2790209

+0

在這種情況下,我建議你看看現有的OCR庫使用和編寫的技巧。計算像素不太可靠(或者他們想的是什麼)您已經向您展示或已經向您推薦過哪些機器學習算法? –

回答

3

你想要檢測完全相同或檢測近似/近似匹配(這是真正的OCR是什麼)?

您也可以先找到圖像/字形的加權中心,或者縮放尺寸的可比性(如果必須匹配不同的尺寸),然後比較像素與像素的相似度(相似度爲%)兩幅圖像之間。

當然,如果圖像都是剪裁&大小適合你,那麼你只需要掃描比較所有像素的圖像,實現蠻力「相似性」措施。

見BufferedImage.getRGB():http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/image/BufferedImage.html#getRGB(int,%20int)

可以編寫一個函數來採取兩個RGB像素值(如整數最多爲0xFFFFFF),分離部件,&總和分量差異。

+0

近乎相同/強烈的匹配是我試圖找到的。縮放比例是一個好主意...... – user2790209

+0

如何比較像素與像素的相似性?比較顏色? – user2790209

+0

是的,將像素RGB ints分解爲R,G,B分量並將所有分量的差值相加。 –