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