2011-02-23 66 views
1

我有一個表示二進制圖像的矩陣(每個單元格代表「黑色」像素爲1,而「白色」像元爲0)。黑色像素代表圖像的形狀(形狀和填充),白色代表背景。我想要做的是檢測矩陣中表示的數字的角落。二進制圖像角點檢測

2個例子:


enter image description here


任何想法或算法呢?

在此先感謝。

+0

你能舉一個例子嗎? –

+0

當然,像:[Squares](http://www.hjoseph.com/shared/squares.png)和[Caves](http://www.hjoseph.com/shared/cave.png) – Harph

+0

角落恰好是?邊界框?還有別的嗎? –

回答

5

試試opencv libraries,他們有python bindings和很多算法來做角點檢測。

MY2C

+2

蟒蛇引用在這裏http://opencv.willowgarage.com/documentation/python/index.html這是一個使用opencv的C++示例http://www.moosechips.com/2008/08/opencv-corner-detection-使用-cvgoodfeaturestotrack /和一個簡短的howto使用哈里斯檢測http://tech.groups.yahoo.com/group/OpenCV/message/42254 – macarthy

+0

@macarthy:不錯的鏈接... – neuro

0

如果我理解正確你有一個使用的模板C++,可讓您掃描每個像素,並且你能做到這一點,並與1的和白色0的更換黑色的。

當我使用opencv進行網絡攝像頭顏色檢測時,我不得不做類似的事情。如果你喜歡,我可以告訴你我正在談論的代碼的一部分嗎?雖然我可能會誤解你的問題。然而我的代碼允許你掃描每個像素(或者幀我的是從一個網絡攝像頭拍攝的,你也可以用一張實際的圖片做同樣的事情)

+0

我已經有矩陣與二進制表示圖片。我需要的是知道哪些單元格是圖像中表示的數字的角點。 IE:如果我有一個大小爲20 x 20的圖像,我得到一個20 x 20像元的矩陣......所以,假設圖像的大小爲5的正方形開始於單元格(3,2)。這意味着該數字的角是(3,2),(7,2),(3,6)和(7,6)。正如你所看到的,你只是匹配圖像中表示的一個圖形的角落。所以,我需要檢測矩陣中表示的所有角落。 – Harph

+0

噢好吧,我有點困惑。雅由macarthy列出的角落檢測將永遠是你最好的選擇。 – 2011-02-23 17:33:39