2014-10-10 205 views
0

我使用Opencv檢測材料的形狀和尺寸(如光盤,墊圈,不同尺寸的螺母和螺栓),將在跑帶上進行檢測。什麼功能是最好的區分它們。 我打算使用cvFindContours(查找形狀)和cvArcLength & cvContourArea來獲取它們的區域。OpenCv形狀檢測

有沒有更好的方法?

回答

1

這是塑造匹配一個簡單的方法:

  1. 轉換爲灰度
  2. Smoothen圖像。
  3. 套用一些morphological operations(如有必要)。
  4. Edge detect
  5. 查找輪廓(與您提到的相同)。輪廓函數是分層的。因此,分割所需的(大多數情況下)外形應該很容易。圓盤和墊圈可以通過輪廓層次結構中的孔進行區分。
  6. 使用ApproxPolyDP可以將輪廓定位爲粗糙的規則形狀。您可以根據輪廓中的頂點數量來區分形狀。
  7. 如果ApproxPolyDP不足,則使用moments來區分形狀。

它適用於大多數情況。總是提供樣本圖片來幫助我們評估問題的複雜性:D。

0

檢查OpenCV中 這裏哈爾級聯目標檢測技術有一些鏈接....

http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html

http://www.technolabsz.com/2011/08/how-to-do-opencv-haar-training.html

對於哈爾級聯工作u需要爲國家隊訓練目的哈爾包..

http://kineme.net/files/haar.zip

+0

不幸的是,它所有的都相當過時(重新被限制在舊的hacarcascade格式)。自幾年以來,CascadeClassifier/opencv_traincascade可以讀取/生成豬和lbp級聯。 – berak 2014-10-11 10:27:01

+0

嗯,該工具包是出於上述相同的目的,鏈接只是爲了知道它的實際工作原理。 – Adii 2014-10-11 10:29:11

+0

是的,好的。沒有downvote或這樣的。只是提醒(因爲你的答案將在這裏*永遠*) – berak 2014-10-11 10:36:20