python-opencv 分離圖片(視頻)中的某一顏色物體


看代碼:

import cv2 as cv
import numpy as np

def separate_color(frame):
    cv.imshow("原圖", frame)
    hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)                              #色彩空間轉換為hsv,便於分離
    lower_hsv = np.array([37, 43, 46])                                      #提取顏色的低值
    high_hsv = np.array([77, 255, 255])                                     #提取顏色的高值
    mask = cv.inRange(hsv, lowerb = lower_hsv, upperb = high_hsv)           #下面詳細介紹
    cv.imshow("inRange", mask)
    
image = "D:/Image/test1.jpg"
src = cv.imread(image)
separate_color(src)

cv.waitKey(0)

效果:(這里提取的是綠色)

 

一、inRange()函數介紹:(OpenCV中的inRange()函數可實現二值化功能,可以同時針對多通道進行操作,使用起來非常方便!)

  1.函數原型:inRange(InputArray src, InputArray lowerb, InputArray upperb, OutputArray dst)

  2.參數介紹:src:輸入圖像, lowerb:要提取顏色在hsv色彩空間取值的低值, upperb:要提取顏色在hsv色彩空間取值的高值, 輸出圖

二、hsv色彩取值表:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM