openCV—Python(7)—— 彩色图像R、G、B分量的提取与合并及其相关颜色空间的转化

一、函数简介

1、split—提取R、B、G分量(返回值顺序为:B、G、R)

函数原型:split(m, mv=None)

m:彩图矩阵

mv:默认参数

2、merge—合并R、G、B(参数顺序为:B、G、R)

函数原型:merge(mv, dst=None)

m:B、G、R分量

mv:默认参数

3、cvtColor—合并R、G、B(参数顺序为:B、G、R)

函数原型:cvtColor(src, code, dst=None, dstCn=None)

src:图像矩阵

code:转化参数

其他:默认参数

二、实例演练

1、提取lena图像的R、G、B成分

代码如下:

#encoding:utf-8

#
#彩图R、G、B的提取
#
import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#R、G、B分量的提取
(B,G,R) = cv2.split(image)#提取R、G、B分量
cv2.imshow("Red",R)
cv2.imshow("Green",G)
cv2.imshow("Blue",B)
cv2.waitKey(0)

结果如下

1、原图像

2、R成分

3、G成分

4、B成分

2、合并lena图像的R、G、B成分

代码如下:

#encoding:utf-8

#
#彩图R、G、B的提取与合并
#
import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#R、G、B分量的提取
(B,G,R) = cv2.split(image)#提取R、G、B分量
#R、G、B的合并
merged = cv2.merge([B,G,R])#合并R、G、B分量
cv2.imshow("Merged",merged)
cv2.waitKey(0)

结果如下

合并lena图像R、G、B后的图像(其实与原图像一样,这里只是为了演示函数的用法)

3、转化彩色lena图像为灰色lena图像

代码如下:

#encoding:utf-8

import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#彩色转灰色
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray",gray)
cv2.waitKey(0)

结果如下

1、原图像

2、灰度图像

4、RGB转HSV

代码如下:

#encoding:utf-8

import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#HSV空间
hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
cv2.imshow("HSV",hsv)
cv2.waitKey(0)

结果如下

1、原图像

2、HSV空间

5、RGB转lab

代码如下:

#encoding:utf-8

import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#lab空间
lab = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)
cv2.imshow("L*a*b*", lab)
cv2.waitKey(0)

结果如下

1、原图像

2、lab空间

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 09:42:03

openCV—Python(7)—— 彩色图像R、G、B分量的提取与合并及其相关颜色空间的转化的相关文章

Android开发:setAlpha()方法和常用RGB颜色表----颜色, r g b分量数值(int), 16进制表示 一一对应

杂家前文Android颜色对应表只有颜色和十六进制,有时候需要设置r g b分量的int值,如paint.setARGB(255, 127, 255, 212);就需要自己计算下分量的各个值.这里提供一个带有r g b分量的int型的颜色表.注意paint.setAlpha()及paint.setARGB()的第一个参数,即透明度.其取值范围是0---255,数值越小,越透明,颜色上表现越淡.实际上当设成10以下就会有透明的效果了. 注意:这个透明度是用来设置画笔paint的透明度,然后用pai

matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性

函数 实现将彩色图像转化为直方图分量向量 calcrgb2hist.m 文件 function hist  = calcrgb2hist(picname) pic1 = imread(picname); pic1R = pic1(:,:,1); pic1G = pic1(:,:,2); pic1B = pic1(:,:,3); figure,imshow(pic1R)                  title('R分量的图像') % 二,绘制直方图 [m,n]=size(pic1R);  

OpenCV+python 彩色图像通道拆分与组合并判断size,shape函数的用法与区别

1.关于python中size与shape的用法,我一直是一头雾水,今天总结下,size既可以用作属性亦可以当做函数来使用,如a.size,np.szie(a),它是用来判断数组中所有元素的个数 ,而shap与size类似,既可以用作属性亦可以当做函数来使用,如b.shape,np.shape(b),他是用来判断数组的维度 2.关于图像的加载与显示,plt.imshow与cv2.imshow显示的时候会有色差的问题,因为OpenCV显示的BGR,而plt.imshow显示的是RGB 3.通道的分

python Image PNG getpixel R/G/B/A

# python Image PNG getpixel R/G/B/A# # 说明: # 本文主要是记录python中如何使用Image模块进行基本的图像R.G.B.A值得获取. # 为后续的raspberry pi进行图像处理做验证. # # 2016-2-10 抚州 崇仁马鞍港上村 曾剑锋 import Image # 加载png图片 img = Image.open("vim-cmd.png") # 输出图像的基本信息 print img.format, img.size, im

javascript把RGB指定颜色转换成十六进制颜色(Converting R,G,B values to HTML hex notation)

Prologue 看见一篇很好的外国文章,Making annoying rainbows in javascript,其实我当时很想把它翻译下来的,但是对于一个连六级都没过的人确实有点难度,一些文段看起来是知道意思但是就不知道怎么用自己的话来表达.越来越觉得对于IT行业来说英语至少要达到能读的程度,毕竟好的东西很多是外国的,还有哦,要会翻墙.对于那篇文章我其实还没看完,还在慢慢消化中,但是看到一个函数确实真的很吸引我,实现的是Converting R,G,B values to HTML he

Python基础练习r=input('半径r=:') 半径r=2 >>>areas=3.14*float(r)*float(r) >>>print('area:%s'%(area)) area:12.5

1.简单输入输出交互. input('please input your name:') please  input your name:xfy 'xfy' 2.用户输入两个数字,计算并输出两个数字之和:(尝试只用一行代码实现这个功能). n=input('输入第一个数字:') 输入第一个数字:2 m=input('输入第二个数字:') 输入第二个数字:4 print(int(n)+int(m)) 6.0 3.输入半径,计算圆的面积. r=input('r=') r=2 print('圆的面积:

ubuntu14 opencv python 安装

本文记录了Ubuntu 14.04下使用源码手动安装OpenCV 3.0的过程.此外记录了在Python中安装及载入OpenCV的方法. 1.安装OpenCV所需的库(编译器.必须库.可选库) GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) pkg-config Python 2.6 or later and Numpy 1.5 or later wit

OpenCV Python教程(1、图像的载入、显示和保存)

本文转载自 OpenCV Python教程(1.图像的载入.显示和保存)     作者 Daetalus 本文是OpenCV  2 Computer Vision Application Programming Cookbook读书笔记的第一篇.在笔记中将以Python语言改写每章的代码. PythonOpenCV的配置这里就不介绍了. 注意,现在OpenCV for Python就是通过NumPy进行绑定的.所以在使用时必须掌握一些NumPy的相关知识! 图像就是一个矩阵,在OpenCV fo

颜色(color)转换为三色值(r/g/b)(干货分享)

//颜色转换  ##665522 - 三色值 + (UIColor *)setFontColorWithString:(NSString *)color { NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString]; // 字符串个数必须大于等于6 if ([cString length] < 6) {