新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
OpenCV3.0+Python3.6實(shí)現(xiàn)特定顏色的物體追蹤-創(chuàng)新互聯(lián)
一、環(huán)境
win10、Python3.6、OpenCV3.x;編譯器:pycharm5.0.3
二、實(shí)現(xiàn)目標(biāo)
根據(jù)需要追蹤的物體顏色,設(shè)定閾值,在視頻中框選出需要追蹤的物體。
三、實(shí)現(xiàn)步驟
1)根據(jù)需要追蹤的物體顏色,設(shè)定顏色閾值,獲取追蹤物體的掩膜
代碼:generate_threshold.py
# -*- coding : utf-8 -*- # Author: Tom Yu import cv2 import numpy as np cap = cv2.VideoCapture(0)#獲取攝像頭圖像 # img = cv2.imread("timg1.jpg") # hsv_img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) def nothing(x): pass def createbars(): """ 實(shí)現(xiàn)創(chuàng)建六個(gè)滑塊的作用,分別控制H、S、V的最高值與最低值 """ cv2.createTrackbar("H_l","image",0,180,nothing) cv2.createTrackbar("H_h","image",0,180,nothing) cv2.createTrackbar("S_l","image",0,255,nothing) cv2.createTrackbar("S_h","image",0,255,nothing) cv2.createTrackbar("V_l","image",0,255,nothing) cv2.createTrackbar("V_h","image",0,255,nothing) cv2.namedWindow("image") createbars()#創(chuàng)建六個(gè)滑塊 lower = np.array([0,0,0])#設(shè)置初始值 upper = np.array([0,0,0]) while True: ret,frame = cap.read() hsv_frame = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)#將圖片由BGR顏色空間轉(zhuǎn)化成HSV空間,HSV可以更好地分割顏色圖形 lower[0]=cv2.getTrackbarPos("H_l","image")#獲取"H_l"滑塊的實(shí)時(shí)值 upper[0]=cv2.getTrackbarPos("H_h","image")#獲取"H_h"滑塊的實(shí)時(shí)值 lower[1]=cv2.getTrackbarPos("S_l","image") upper[1]=cv2.getTrackbarPos("S_h","image") lower[2]=cv2.getTrackbarPos("V_l","image") upper[2]=cv2.getTrackbarPos("V_h","image") mask = cv2.inRange(hsv_frame,lower,upper)#cv2.inrange()函數(shù)通過設(shè)定的最低、最高閾值獲得圖像的掩膜 cv2.imshow("img",frame) cv2.imshow("mask",mask) if cv2.waitKey(1)&0xff == 27: break cv2.destroyAllWindows()
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:OpenCV3.0+Python3.6實(shí)現(xiàn)特定顏色的物體追蹤-創(chuàng)新互聯(lián)
當(dāng)前URL:http://www.dlmjj.cn/article/dggshd.html