Python-Opencv中常用的两个色彩空间(BGR和HSV)及处理
颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间。但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象。颜色空间按照基本机构可以分为两大类:基色颜色空间和色、亮分离颜色空间。前者典型的是RGB,后者包括HSV等等。
各个空间中不同参数的描述归根到底都是对颜色的描述
BGR色彩空间
1、计算机色彩显示器和彩色电视机显示色彩的原理一样,都是采用R、G、B相加混色的原理,通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示。
2、在RGB色彩空间中,任意色光F都可以用R、G、B三色不同分量的相加混合而成:F=r[R]+r[G]+r[B]。按照排列组合:RGB都有0-255中256个值,三色中的每一个值进行叠加都可以得到一种颜色,故有256 × 256 × 256 = 16777216种颜色。
以下代码为对RGB色彩空间的每一个通道 R G B 进行分离
src = cv.imread("girl.jpg")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
# 用 cv.split(src) 对 RBG 三通道进行分离
b, g , r =cv.split(src)
# 显示每个通道下的图片
cv.imshow("blue", b)
cv.imshow("green", g)
cv.imshow("red", r)
对图片的某一个通道进行赋值
# 将图片中的B通道全赋值为0
src[:,:,