我正在做一個有趣的項目:使用 OpenCV(如在 Google 護目鏡等中)從輸入圖像中求解數獨。而且我已經完成了任務,但是最後我發現了一個小問題,我來這裡。
我使用OpenCV 2.3.1的Python API進行了編程。
下面是我所做的:
- 閱讀圖像
- 找到輪廓
- 選擇面積最大的那個,(也有點相當於正方形) .
找到角點。
如下所示:
(注意這裡的綠線正確地與數獨的真實邊界重合,所以數獨可以正確變形
strong>. 檢查下一張圖片)將圖片扭曲成一個完美的正方形
例如圖片:
執行OCR(為此我使用了我的方法在 簡單數字識別中給出OpenCV-Python 中的 OCR 方法 )
而且方法效果很好。
問題:
查看這張圖片。
在此圖像上執行第 4 步會得到以下結果:
畫出的紅線是原始輪廓,是數獨邊界的真實輪廓。
畫出的綠線是近似輪廓,將是扭曲圖像的輪廓。
當然,數獨上邊緣的綠線和紅線是有區別的。所以在變形時,我沒有得到數獨的原始邊界。
我的問題:
如何在正確的邊界上變形圖像數獨,即紅線或如何消除紅線和綠線之間的差異? OpenCV中有什麼方法嗎?