前言:
開源的opencv真是一件偉大的產(chǎn)品,那么多個函數(shù)跟變量(具體多少還沒數(shù)過)。要是結(jié)合起來綜合運用幾乎可以勝任任何有關(guān)圖像識別和處理方面的工作。如果能更深入一點根據(jù)具體需要修改或優(yōu)化里面的源碼那更是如虎添翼。
花了點時間瀏覽了www.opencv.org.cn論壇里的所有貼子,還好不多才200多頁。總體上對opencv里的一些常用函數(shù)功能作用大致有點了解,篩選一些跟元件識別有關(guān)的運用內(nèi)容,但它論壇里的貼子回復的內(nèi)容點到即止的居多。從網(wǎng)上下載了能搜到的教程跟代碼全學習了解測試了一下,圖像處理流程通常先開始都是要進行濾波,除燥,灰度,二值化后再輪廓識別等。
開始動手
經(jīng)過多次好多次運行測試組合,終于有一次顯示出意外的驚人效果,而且相當簡單只是調(diào)用了幾個函數(shù)而以,就可以有這樣效果實在出人意料。第一個是進行元件中心點獲取,也是直接調(diào)用函數(shù)再加點東西就可以得出元件的四個矩形頂點坐標,有這幾個坐標就可以直接算出元件中間點所在的坐標了。如果要檢測元件擺放角度是否是垂直90度,只要判斷邊寬的長度為最小或最大時就是垂直90度。
但這個矩形框無法測出元件具體角度。如截圖:
測試視頻地址: https://v.youku.com/v_show/id_XMjU5NzY5NTI0.html
不過,還有另外一個函數(shù)可以提供這個功能,調(diào)用后可以直接求出最小外接矩形和角度
如截圖:
測試視頻地址: https://v.youku.com/v_show/id_XMjYwMDMzMDc2.html
說明:里面的光源不行,臨時用手電筒,和在光盤上插幾個LED做環(huán)形燈做照明,無法做到無陰影顯示。如果光源做的好,效果應該是非常精確穩(wěn)定。
識別包含下面2種做法:
opencv里需要的頭文件跟庫文件都已編譯好放在和設置在當前程序目錄下,就可不用安裝opencv 也能直接編譯。