您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在python中使用opencv實現根據顏色進行目標檢測,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
建立項目colordetect.py,代碼如下:
#! /usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import cv2 def colorDetect(): image = cv2.imread('./1.png') # 使用RGB顏色空間檢測紅 藍 黃 灰,設置合適的閾值 boundaries = [ ([17, 15, 100], [50, 56, 200]), ([86, 31, 4], [220, 88, 50]), ([25, 146, 190], [62, 174, 250]), ([103, 86, 65], [145, 133, 128]) ] for lower, upper in boundaries: lower = np.array(lower, dtype='uint8') upper = np.array(upper, dtype='uint8') # 低于lower和高于upper的像素為黑色,lower-upper之間的像素為白色 mask = cv2.inRange(image, lower, upper) # 利用蒙版,進行圖像的邏輯與運算 output = cv2.bitwise_and(image, image, mask=mask) cv2.imshow('image', np.hstack([image, output])) cv2.waitKey(0) cv2.destroyAllWindows() def main(): colorDetect() if __name__ == "__main__": main()
定義RGB顏色列表:
boundaries = [ ([17, 15, 100], [50, 56, 200]), ([86, 31, 4], [220, 88, 50]), ([25, 146, 190], [62, 174, 250]), ([103, 86, 65], [145, 133, 128]) ]
該部分([17, 15, 100], [50, 56, 200]),表示圖像像素R>=100, B>=15, G>=15和R<=200, B<=56, G<=50的像素將視為紅色。
看完上述內容,你們對怎么在python中使用opencv實現根據顏色進行目標檢測有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。