下面顯示了具有QR碼的圖像的輪廓:Opencv:在黑色背景下查找特定圖案的程序是什麼?
從這個圖象我要提取QR碼這是我的投資回報率。要獲得這些輪廓我用
findContours(canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
我得出這三個黃線手動只是爲了顯示我需要確定這些模式。一旦我知道這三點的位置,我將更容易找到QR碼。
另一種顏色:
所有的QR碼有這樣的三盒。像這樣的例子:
請幫我繼續。
備註:這張圖片還有另外一個問題,那就是它被徑向扭曲,我暫時忽略它。目前我只需要具有完整QR碼的ROI。
更新
至於建議的Micka,我應該尋找有2個不同的輪廓,所有這些輪廓包括(層次)。結果將是所有的垃圾輪廓將被刪除,只有這三個框將被留下。
所以現在我的問題是我怎麼得到contours
這樣的輪廓,我已經通過調用以下函數得到:
findContours(canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
我猜QR碼在顏色紋理圖像上比在輪廓圖像上更容易。如果您可以訪問openCV輪廓(而不僅僅是輪廓圖像),則可以首先選擇包含2個不同輪廓(分層)的所有輪廓。這應該減少輪廓的數量,並且仍然包含QR碼的角落立方體 – Micka 2014-11-21 09:38:17
是的,我確實有輪廓。那麼你能告訴我如何選擇帽子有兩種不同的輪廓(分層)的所有輪廓? – gpuguy 2014-11-21 09:47:53
openCV爲您提供層次結構,因此您可以查看輪廓具有多少個外輪廓。但我從來沒有使用過這些信息,所以沒有直接的幫助,抱歉。 – Micka 2014-11-21 09:51:17