我已經創建了一個iPhone應用程序,可以掃描方格紙頁面的圖像,然後可以告訴我哪些方塊已被黑掉,哪些方塊爲空。用於識別2D特徵的圖像處理
我通過從左到右掃描並使用方格紙的線條作爲參考。當我遇到一個方格紙線時,我開始尋找黑色,直到我再次點擊方格紙線。然後,我繼續沿着掃描線繼續前進,並完全掃描黑色方塊。然後我繼續到下一個框。在該行的最後,我開始掃描新行之前忽略了很多像素(因爲我已經知道每個盒子的高度)。
這類作品,但有問題。有時我會將圖形線條誤認爲「黑色」。有時,如果圖像偏斜,或者整個頁面沒有統一的光照,那麼我的效果不好。
我想要做的是指定一些「對齊」框,然後調整大小並旋轉(和傾斜)圖片以與這些對齊。然後,我想,一旦我將圖像對齊後,我就會知道所有的盒子在哪裏,不需要掃描盒子,只需掃描盒子的位置,看它們是否是黑色的。這應該更快,更可靠。如果我要操作來自相機的圖像,我會更靈活地要求用戶對齊圖片以匹配對齊標記,而不必自己對齊圖像。
鑑於這是我的第一個圖像處理項目,我覺得我正在重新發明輪子。我想就如何做到這一點以及是否利用OpenCV等庫提出建議。
我附上了一張類似於我想處理的圖像。我正在尋找有大量黑色標記的所有方塊的列表,即A8,C4,E7,G4,H1,J9。
需要注意的問題的:
- 圖像的光覆蓋範圍可能不理想,但應該是在圖像相對一致的(即無陰影)
- 所有的廣場可能是空的或全黑,並且該算法需要能夠確定圖像可能偏斜或圍繞任何軸旋轉。圍繞z軸旋轉可能很容易修復。圍繞x或y軸可能會有旋轉,使圖像的一側比另一側寬。但是,如果我從相機中實時掃描圖像,我可以要求用戶將對齊標記與屏幕上的標記對齊。如何最好地確保對齊以給用戶提供適當的反饋?只要檢查以確保4個角落是黑暗的,當相機指向黑色表面時可能會導致誤報。
- 並非每一個方格都會同樣或一致地變黑,但我認爲會有足夠的黑色使它對人眼無可懷疑。
- 藍色網格可能很有用,但有些情況下黑色標記可能與藍色網格重疊。我認爲虛擬網格可能比依靠印刷網格更好。我認爲使用對齊標記來對齊圖像可以實現精確的虛擬網格佈局。然後可以對每個網格框的內容進行採樣,以查看它是否主要是黑色,與從左到右的掃描相比,不是?這是另一幅在網格上有更多標記的圖像。在這張圖片中,除了之前在A8,C4,E7,G4,H1,J9中的標記之外,我標記了E2,G8和G9以及I4和J4,您可以看到藍色網格是如何被遮擋的。
- 這是我這個項目的第一階段。最終,我想擴展這種算法,以便能夠處理至少幾百個插槽和可能不同的顏色。
請發表幾個實際的圖片。 – Maurits 2012-03-19 21:29:36
@Maurits補充說。感謝您的要求。 – mahboudz 2012-03-19 22:06:51
算法可以使用藍色網格嗎? – Maurits 2012-03-20 22:03:48