初学opencv03--颜色空间

import cv2 as cv
import numpy as np

filename = 'C:/Users/45450/Desktop/lenna.jpg'
img = cv.imread(filename)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

cv.imshow('source image', img)
cv.imshow('gray', gray)
cv.waitKey()

hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)

cv.imshow('Hue', hsv[:, :, 0])
cv.imshow('Saturation', hsv[:, :, 1])
cv.imshow('Value', hsv[:, :, 2])
cv.waitKey()

cv.imshow('blue', img[:, :, 0])
cv.imshow('Green', img[:, :, 1])
cv.imshow('Red', img[:, :, 2])
cv.waitKey()
cv.destroyAllWindows()

OpenCV中,系统图像缺省为BGR格式,颜色三通道顺序为B,G,R 分别对应索引为0,1,2

 

HSI/HSV颜色空间:

H的取值范围为0-180。其中红色对应0 绿色对应60 蓝色对应120 相对于H通道显示的时候,蓝色显示出来最亮。

其余两变量范围为0-255。 S为饱和度分量,看这个颜色是否足够饱和 越饱和显示的颜色越亮。

HSV中V指RGB里最大的值   V=max(r, g, b) 最终显示出来的是饱和度最大值 (存在疑惑)

HSI中I指平均值  I=(r+g+b)/3

 

BGR三通道显示时,例如B--Blue 则蓝色部分显示出来的最亮,最亮为白色。 

原图像中白色在单通道显示是也为白色 ,因为白色包含BGR。

发布了4 篇原创文章 · 获赞 1 · 访问量 904
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章