Python-opencv實現(xiàn)紅綠兩色識別操作
1.顏色空間轉(zhuǎn)換(RGB轉(zhuǎn)HSV)
為了較準(zhǔn)確的調(diào)紅色和綠色的HSV,我使用cv2.createTrackbar()函數(shù)創(chuàng)建了六個滾動條
#創(chuàng)建HSV最低滾動條 cv2.createTrackbar('H_min','image',35,180,nothing) cv2.createTrackbar('S_min','image',43,255,nothing) cv2.createTrackbar('V_min','image',46,255,nothing) #創(chuàng)建HSV最高滾動條 cv2.createTrackbar('H_max','image',0,180,nothing) cv2.createTrackbar('S_max','image',255,255,nothing) cv2.createTrackbar('V_max','image',255,255,nothing)
實際效果如圖
2.識別顏色并畫矩形框
顏色閾值已經(jīng)確定了,這就可以進(jìn)行顏色識別了。
為了讓識別更穩(wěn)定,在代碼中加入自適應(yīng)閾值。
th_img = cv2.adaptiveThreshold(mask,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY_INV,5,2)
3.畫矩形框
使用函數(shù)cv2.findContours()來檢測物體輪框
再使用函數(shù)cv2.boundingRect()查找最小矩形框
使用函數(shù)cv2.rectangle()畫出
contours_green,hierarchy = cv2.findContours(th_green,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) contours_red,hierarchy = cv2.findContours(th_red,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) for red in contours_red: x_red,y_red,w_red,h_red = cv2.boundingRect(red) if w_red>width|h_red>height: cv2.rectangle(img,(x_red,y_red),((x_red+h_red),(y_red+w_red)),(0,255,0),1) for red in contours_red: x_red,y_red,w_red,h_red = cv2.boundingRect(red) if w_red>width|h_red>height: cv2.rectangle(img,(x_red,y_red),((x_red+h_red),(y_red+w_red)),(0,255,0),1)
為了凸顯出顏色的差距,我使用綠色的矩形框,畫紅色的物體,用紅色的矩形框畫綠色物體
以上這篇Python-opencv實現(xiàn)紅綠兩色識別操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實例
今天小編就為大家分享一篇Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python 測試框架unittest和pytest的優(yōu)劣
這篇文章主要介紹了Python 測試框架unittest和pytest的優(yōu)劣,幫助大家更好的進(jìn)行python程序的測試,感興趣的朋友可以了解下2020-09-09淺談matplotlib默認(rèn)字體設(shè)置探索
這篇文章主要介紹了matplotlib默認(rèn)字體設(shè)置探索,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Python如何根據(jù)時間序列數(shù)據(jù)作圖
這篇文章主要介紹了Python如何根據(jù)時間序列數(shù)據(jù)作圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05python腳本調(diào)用iftop 統(tǒng)計業(yè)務(wù)應(yīng)用流量的思路詳解
這篇文章主要介紹了python腳本調(diào)用iftop 統(tǒng)計業(yè)務(wù)應(yīng)用流量的思路詳解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10