OpenCV 學習筆記(10)HSV顏色空間及顏色空間轉換(RGB-HSV)


1.1 顏色空間介紹

 

RGB 顏色空間是大家最熟悉的顏色空間,即三基色空間,任何一種顏色都可以由該三種 顏色混合而成。然而一般對顏色空間的圖像進行有效處理都是在 HSV 空間進行的,HSV(色 調 Hue,飽和度 Saturation,亮度 Value)是根據顏色的直觀特性創建的一種顏色空間, 也稱六角 錐體模型。

參考:https://blog.csdn.net/taily_duan/article/details/51506776

 

為什么會選擇 HSV 空間而不是 RGB 空間? 對於圖像而言,識別相應的顏色在 RGB 空間、 HSV 空間或者其它顏色空間都是可行的。之所以選擇 HSV,是因為 H 代表的色調基本上可以 確定某種顏色,再結合飽和度和亮度信息判斷大於某一個閾值。而 RGB 由三個分量構成, 需要判斷每種分量的貢獻比例。即 HSV 空間的識別的范圍更廣,更方便。

image.png 

圖 1-1 HSV顏色空間模型

 

1.2 三種顏色空間的轉換(gray BGR HSV)

 

在OpenCV中有超過150種的顏色空間轉換的方法,但是我們經常會用到的也就只有兩種,即 BGR->Gray 和 BGR->HSV。注意 Gray 和 HSV 不可以互相轉換。 顏色空間轉換:cv2.cvtColor(input_image, flag)

BGR->Gray: flag 就是 cv2.COLOR_BGR2GRAY

BGR->HSV: flag 就是 cv2.COLOR_BGR2HSV

 

OpenCV 中 HSV 顏色空間的取值范圍:

H [0, 179] S [0, 255] V [0, 255]

 

image.png 

圖 1-2 常用顏色的取值范圍

 

Demo, 程序的源碼位於/home/pi/yahboom/colorBlcok/colorBlock.py:

image.png 

圖 1-3 顏色空間轉換識別圖片中的黃色和紅色部分

 

image.png

 image.png 

 

在這個程序中,我們第一次接觸了掩膜,有些小伙伴可能對掩膜不太了解,掩膜的概念描述不太好理解,它可以被理解為位圖,可以進行腐蝕膨脹等形態學的操作。我們只需要知道,在提取感興趣區域、屏蔽圖片某些區域、結構特征提取和特殊圖像制作中都可能用到掩膜,即可。

 

progress:可自行嘗試實現多種顏色的識別。

 

 

 
 


免責聲明!

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



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