python實現色彩空間轉換


目錄:

(一)調用轉換函數實現圖像色彩空間轉換------ cv2.cvtColor函數

(二)色彩空間轉換,利用inrange函數過濾視頻中的顏色,實現跟蹤某一顏色

 

 

 正文:

(一)調用轉換函數實現圖像色彩空間轉換------ cv2.cvtColor函數

 cvtColor(src,code,dst=None,dstCn=None),作用:將一幅圖像從一個色彩空間轉換到另一個色彩,空間參數:code,轉換的色彩空間。

BGR---》GRAY,BGR---》HSV,BGR---》YUV,BGR--》YCrCb
 1 # 色彩空間轉換
 2 def color_space_demo(img):
 3     gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 4     cv2.imshow("gray", gray)
 5     hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
 6     cv2.imshow("hsv", hsv)
 7     yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV)
 8     cv2.imshow("yuv", yuv)
 9     ycrcb = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
10     cv2.imshow("ycrcb", ycrcb)

HSV色彩空間說明: H:0-180  S: 0-255 V: 0-255

(二)色彩空間轉換,利用inrange函數過濾視頻中的顏色,實現跟蹤某一顏色

         利用cv2.inRange函數設閾值,這里注意用的顏色空間是hsv。HSV:HSV顏色空間是孟塞爾彩色空間的簡化形式,是一種基於感知的顏色模型。它將彩色信號分為3種屬性:色調(Hue,H),飽和度(Saturation,S),亮度(Value,V)。色調表示從一個物體反射過來的或透過物體的光波長,也就是說,色調是由顏色的名稱來辨別的,如紅、黃、藍;亮度是顏色的明暗程度;飽和度是顏色的深淺,如深紅、淺紅。

      HSV顏色空間反映了人觀察色彩的方式,具有兩個顯著的特點:

  • 亮度分量與圖像的彩色信息無關
  • “色調”和“飽和度”分量與人感受顏色的方式是緊密相連的

可以根據右表來確定lower_hsv, upper_hsv的取值。

 1 # -*- coding=GBK -*-
 2 import cv2 as cv
 3 import numpy as np
 4  
 5  
 6 def nextrace_object_demo():
 7     capture = cv.VideoCapture("G:/1.mp4")#導入視頻
 8     while True:
 9         ret, frame = capture.read()
10         if ret == False:
11             break
12         hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)#轉換色彩空間為hsv
13         #設置白色的范圍,跟蹤視頻中的白色
14         lower_hsv = np.array([0, 0, 221])#設置過濾的顏色的低值
15         upper_hsv = np.array([180, 30, 255])#設置過濾的顏色的高值
16         mask = cv.inRange(hsv, lower_hsv, upper_hsv)#調節圖像顏色信息(H)、飽和度(S)、亮度(V)區間,選擇白色區域
17         cv.imshow("video", frame)
18         cv.imshow("mask", mask)
19         if cv.waitKey(50) & 0xFF == ord('q'):
20             break
21  
22 nextrace_object_demo()
23 cv.waitKey(0)
24 cv.destroyAllWindows()、

參考:
https://blog.csdn.net/u011321546/article/details/79533669
https://blog.csdn.net/Vici__/article/details/100714822#12%E3%80%81%E5%BD%A9%E8%89%B2%E7%A9%BA%E9%97%B4%E8%BD%AC%E6%8D%A2


免責聲明!

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



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