2016-10-13 22 views
0

請建議如何虛線像素的圖像在連接象下面這樣:連接像素MATLAB

Test imageOriginal Image

我想這個圖像上應用OCR。我嘗試了一些形態學操作,如增厚和橋接,但沒有按預期獲得正確的輸出(NH5343320)。 原始圖像也被上傳。在對原始圖像應用水平邊緣檢測時,我得到了如上所示的虛線圖像。是否有其他方法可用於在這些圖像中應用OCR。

+0

你有什麼先驗信息?例如,如果您知道字符的寬度,可以從左上角的點確定矩形內的斑點,然後用線連接這些斑點的中心。然後丟棄所有這樣連接的斑點並轉到下一個字符 – meetaig

+1

圖像經歷了一個糟糕的閾值。你還可以添加原始圖像嗎? – erfan

+3

「未獲得正確的輸出」。含義?什麼是正確的輸出,你嘗試了什麼,爲什麼它沒有工作?我們知道它沒有得到正確的輸出結果,你不會在這裏問是否它。 –

回答

1

我會裁剪出來並填寫每個可用字母的模板。據推測,這將是這樣的字母[A-Z]和數字[0-9]。

0.png

enter image description here

3.png

enter image description here

現在我會做他們每個人的子圖像搜索中的原始圖像。我在命令行與ImageMagick的這樣做,但你可以使用Matlab的OpenCV的,或CIMG或Python的,Perl和PHP,C的,C++綁定的ImageMagick

於是,我找了3第一:

compare -metric rmse -dissimilarity-threshold 1 -subimage-search plate.png 3.png result.png 
25607.9 (0.390752) @ 498,46 

因此,3發現在座標498,46。將有2個輸出文件,output-0.png它看起來像這樣:

enter image description here

output-1.png中,你可以看到最亮區域表示將匹配是最好的:

enter image description here

同樣有0

compare -metric rmse -dissimilarity-threshold 1 -subimage-search plate.png 0.png result.png 
31452.6 (0.479936) @ 664,44 

enter image description here

enter image description here

+0

你能解釋一下我們如何找到要搜索的角色的座標。在你的回答中,你已經給出了座標498,46和664,44。我們如何以編程方式找到這些點。也可以請你解釋一下使用的其他數字參數,因爲我不熟悉ImageMagick。 – Rahul

+0

「@」後的輸出中給出了小寫字母模板圖像與原始圖像相匹配的左上角的座標 - 我假設您可以從那裏讀取它們。輸出中的第一個數字對應於匹配程度。如果你想要一個完美的匹配,那麼相異性閾值應該被設置爲零,或者如果你準備允許非常差的匹配並且想要做出自己的決定,那麼該差異閾值應該被設置爲零。 –

+0

我想你會在Matlab中使用規範化的互相關,但我不熟悉該產品。 –