91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行OpenCV中HSV顏色空間的分析

發布時間:2021-12-15 17:53:29 來源:億速云 閱讀:311 作者:柒染 欄目:大數據

如何進行OpenCV中HSV顏色空間的分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

前言

在OpenCV中我們有時候提取樣本的時候可能會通過顏色來進行提取,那HSV顏色空間在這個時候就可以加以利用上了,主要是解決HSV顏色空間,用于對HSV一個基本的認識了解。

HSV顏色系統簡介

HSV是一種在人們生活中甚至更常用的顏色系統,在電視遙控器上、在畫畫的調色板中、在你用愛某藝視頻調整亮度時都很常見,因為它更符合人們描述顏色的方式——是什么顏色、顏色有多深、顏色有多亮。

H——Hue即色相,就是我們平時所說的紅、綠,如果你分的更細的話可能還會有洋紅、草綠等等;在HSV模型中,用度數來描述色相,其中紅色對應0度,綠色對應120度,藍色對應240度。

如何進行OpenCV中HSV顏色空間的分析

S——Saturation即飽和度,色彩的深淺度(0-100%) ,對于一種顏色比如紅色,我們可以用淺紅——大紅——深紅——紅得發紫等等語言來描述它(請原諒一個純理科生的匱乏的顏色系統),對應在畫水彩的時候即一種顏料加上不同分量的水形成不同的飽和度。

V——Value即色調,純度,色彩的亮度(0-100%) ,這個在調整屏幕亮度的時候比較常見。

如何進行OpenCV中HSV顏色空間的分析

注:在模型2中:

H是色彩點在對應圓形切面上與紅色半徑(對于H=0度)所形成的圓心角。

V是色彩點所在圓形切面到圓錐頂點的距離。在頂面上V=1 頂點V=0

S是色彩點到所在圓形切面圓心的距離與該圓半徑的比例值,在圓錐表面上S=1,在圓心處S=0


 

HSV值對顏色的影響

如上圖是H=120時的S—V平面,S和V值分別從左至右、從下至上由0增大至1。我們可以發現其規律:

  • 在圖片的左側S值為0,呈現不同程度的灰色,由V值決定。

  • 在圖片的下側V值為0,呈現出黑色。

  • 在圖片的右上角S和V值都為1,呈現出純色,其RGB值為(0, 255, 0)。

如何進行OpenCV中HSV顏色空間的分析

因此對HSV我們的結論如下:


當S=1 V=1時,H所代表的任何顏色被稱為純色;


當S=0時,即飽和度為0,顏色最淺,最淺被描述為灰色(灰色也有亮度,黑色和白色也屬于灰色),灰色的亮度由V決定,此時H無意義;


當V=0時,顏色最暗,最暗被描述為黑色,因此此時H(無論什么顏色最暗都為黑色)和S(無論什么深淺的顏色最暗都為黑色)均無意義。


 

HSV和RGB的互相轉化

RGB?HSV
1. V = max(R, G, B)/255.0f——亮度V就是RGB值中最大的那個值進行歸一化。

推論:

     純色的RGB中肯定有一個是255。同時RGB值也不可能有3個255,因為3個255為白色,白色為對于任何色彩H,V=1而S=0時的產物。而V=1 S=0并不是純色。同時如果V=0,那么RGB三者中的最大值是0,即GRB都為0,也就是說該像素是黑色。

2. S = (max(R, G, B) - min(R, G, B))/(float)max(R, G, B)——飽和度S是RGB中最大值和最小值的差值與最大值的比值。

推論:
    純色(S=1 V=1)的RGB值中必定有一個0,因為當S=1,max(R, G, B) - min(R, G, B) == max(R, G, B),即RGBMin=0。這也說明了白色(RGB(255,255,255)并不是純色)。
    當S=0時,RGBMax-RGBMin==0,即R==G==B,此時顏色呈不同程度的灰色(由白到黑,亮度由V而定,因為V=RGBMax*100/255,V越高,RGBMax==R==G==B就越高,灰色越亮))。這也可以從上面給出的矩形圖看出。

因此對于純色來說,RGB中必有一個255和一個0
公式換算:

如何進行OpenCV中HSV顏色空間的分析


HSV?RGB

如何進行OpenCV中HSV顏色空間的分析


 

OpenCV中的HSV顏色體系

與上述HSV顏色系統不同的是,如果直接使用OpenCV中cvtColor函數,并設置參數為CV_BGR2HSV,那么所得的H、S、V值范圍分別是[0,180),[0,255),[0,255),而非[0,360],[0,1],[0,1];這時我們可以查下面的表格來確定顏色的大致區間

如何進行OpenCV中HSV顏色空間的分析

如何進行OpenCV中HSV顏色空間的分析

從輸出的結果來看,和我們上邊所說的是相符的。

如何進行OpenCV中HSV顏色空間的分析

另一種hsv方法——當我們想恢復到我們一開始介紹的體系時,我們只需要加一步——對像素的bgr進行歸一化,再轉到hsv時得到的結果就和我們介紹的就相同了。代碼和輸出結果如下

如何進行OpenCV中HSV顏色空間的分析

此時輸出結果范圍和一開始所述就符合了。

看完上述內容,你們掌握如何進行OpenCV中HSV顏色空間的分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆城县| 南陵县| 招远市| 吕梁市| 上高县| 南安市| 鹤峰县| 衡水市| 临安市| 海安县| 新安县| 保康县| 阳新县| 富锦市| 南城县| 北辰区| 大港区| 普安县| 锦州市| 惠东县| 武冈市| 成安县| 婺源县| 卫辉市| 怀宁县| 同德县| 卢氏县| 宣威市| 苏州市| 汤阴县| 宽城| 台山市| 大竹县| 济南市| 大荔县| 神农架林区| 泾川县| 安宁市| 台前县| 普陀区| 开鲁县|