OpenCV半小時(shí)掌握基本操作之色彩空間
【OpenCV】⚠️高手勿入! 半小時(shí)學(xué)會(huì)基本操作⚠️色彩空間
概述
OpenCV 是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺(jué)庫(kù), 支持多語(yǔ)言, 功能強(qiáng)大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界. (第 6 課)
色彩空間
色彩空間 (Color Space) 即以同的空間維度來(lái)表示某一色彩 (通常使用 3 個(gè)或者 4 個(gè) 值).
常見(jiàn)的色彩空間:
- RGB
- HSV
- HIS
- YCrCb
- YUV
色彩空間轉(zhuǎn)換
原圖:
代碼實(shí)現(xiàn):
import numpy as np import cv2 def color_space(image): """色彩空間轉(zhuǎn)換""" hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) hls = cv2.cvtColor(image, cv2.COLOR_BGR2HLS) ycrcb = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb) yuv = cv2.cvtColor(image, cv2.COLOR_BGR2YUV) h1 = np.hstack((hsv, hls)) h2 = np.hstack((ycrcb, yuv)) stack = np.vstack((h1, h2)) return stack # 讀取圖片 img = cv2.imread("beautiful_girl.jpg") # 不同色彩空間 stack = color_space(img) # 圖片展示 cv2.imshow("stack", stack) cv2.waitKey(0) cv2.destroyAllWindows()
輸出結(jié)果:
視頻閾值
import numpy as np import cv2 def video_capture(): """讀取視頻""" # 從攝像頭獲取視頻 capture = cv2.VideoCapture(0) # 循環(huán) while (True): # 讀取一幀 ret, frame = capture.read() # 如果讀取幀, 返回值為False, break if ret == False: break # 設(shè)置顏色閾值 lower = np.array([0, 0, 0]) upper = np.array([100, 100, 255]) mask = cv2.inRange(frame, lowerb=lower, upperb=upper) # 展示 cv2.imshow("video", frame) cv2.imshow("mask", mask) # 按下q鍵退出 if cv2.waitKey(20) & 0xFF == ord("q"): break if __name__ == "__main__": video_capture()
輸出結(jié)果:
到此這篇關(guān)于OpenCV半小時(shí)掌握基本操作之色彩空間的文章就介紹到這了,更多相關(guān)OpenCV色彩空間內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。