Python OpenCV中的圖像處理物體跟蹤效果
Python-OpenCV中的圖像處理-物體跟蹤
物體跟蹤
現(xiàn)在我們知道怎樣將一幅圖像從 BGR 轉換到 HSV 了,我們可以利用這一點來提取帶有某個特定顏色的物體。在 HSV 顏色空間中要比在 BGR 空間中更容易表示一個特定顏色。在我們的程序中,我們要提取的是一個藍色的物體。下面就是就是我們要做的幾步:
• 從視頻中獲取每一幀圖像
• 將圖像轉換到 HSV 空間
• 設置 HSV 閾值到藍色范圍。
• 獲取藍色物體,當然我們還可以做其他任何我們想做的事,比如:在藍色
物體周圍畫一個圈。
import numpy as np import cv2 # cv2.cvtColor(img, flag) # cv2.inRange() # 打印顏色轉換flag flags =[ i for i in dir(cv2) if i.startswith('COLOR_')] print(flags) # OpenCV支持超過150種顏色轉換的方法,常用:BGR<->GRAY 和 BGR<->HSV # OpenCV的HSV格式中,H(色彩/色度)的取值范圍是[0, 179], S(飽和度)的取值范圍[0, 255], V(亮度)的取值范圍[0, 255] # 不同軟件取值范圍可能不同,使用時需要做歸一化 # 物體跟蹤,跟蹤一個藍色物體,步驟: # 1.從視頻中獲取一幀圖像 # 2.將圖像轉換到HSV空間 # 3.設置HSV閥值到藍色范圍 # 4.獲取藍色物體,或其他處理 cap = cv2.VideoCapture(0) while True: # 獲取圖像幀 (ret, frame) = cap.read() # 轉換到HSV顏色空間 hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # 設定藍色的閥值 lower_blue = np.array([110, 50, 50]) upper_blue = np.array([130, 255, 255]) # 根據(jù)閥值構建掩膜 mask = cv2.inRange(hsv, lower_blue, upper_blue) mask_blue = cv2.medianBlur(mask, 7) # 中值濾波 # 查找輪廓 contours, hierarchy = cv2.findContours(mask_blue, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) # print(contours, hierarchy) for cnt in contours: (x, y, w, h) = cv2.boundingRect(cnt) cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(frame, "Blue", (x, y - 5), font, 0.7, (0, 255, 0), 2) # 對原圖和掩膜進行位運算 res =cv2.bitwise_and(frame, frame, mask=mask) # 顯示圖像 cv2.imshow('frame', frame) cv2.imshow('mask', mask) cv2.imshow('res', res) k = cv2.waitKey(5)&0xFF if k == 27: break cap.release() cv2.destroyAllWindows()
到此這篇關于Python OpenCV中的圖像處理物體跟蹤的文章就介紹到這了,更多相關Python OpenCV物體跟蹤內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python讀寫及備份oracle數(shù)據(jù)庫操作示例
這篇文章主要介紹了Python讀寫及備份oracle數(shù)據(jù)庫操作,結合實例形式分析了Python針對Oracle數(shù)據(jù)庫操作的相關庫安裝,以及使用cx_Oracle與pandas庫進行Oracle數(shù)據(jù)庫的查詢、插入、備份等操作相關實現(xiàn)技巧,需要的朋友可以參考下2018-05-05Python報錯no?module?named?torch的幾種原因及解決方案
這篇文章主要給大家介紹了關于Python報錯no?module?named?torch的幾種原因及解決方案,這是小白時常犯的錯,這個報錯一般說明在你電腦當前環(huán)境下沒有安裝torch這個模塊,但也有其他情況,需要的朋友可以參考下2023-10-10Python中低維數(shù)組填充高維數(shù)組的實現(xiàn)
今天小編就為大家分享一篇Python中低維數(shù)組填充高維數(shù)組的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12