Python3与OpenCV3.3 图像处理(四)--色彩空间
来源:互联网 发布:药品销售数据库 编辑:程序博客网 时间:2024/06/05 03:54
一、本节简述
本节讲解图像色彩空间的处理和色彩空间的基础知识
二、色彩空间基础知识
什么是色彩空间,人们建立了多种色彩模型,以一维、二维、三维甚至四维空间坐标来表示某一色彩,这种坐标系统所能定义的色彩范围即色彩空间
色彩空间有很多,但是常用的色彩空间一共5种:RGB、HSV、HSI、YCrCb、YUV,简单讲一下这5个色彩空间。
- RGB就不用多说了,RGB是我门经常用到的;
- HSV也称六角锥体模型,是根据颜色的直观特性创建的一种颜色空间,这个颜色空间是本节课讲解的一个重点。
- HSI是从人的视觉系统出发,用色调( Hue )、色饱和 度( Saturation 或 Chroma )和亮度( Intensity 或 Brightness )来描述颜色。 HSI 颜色空间可以用一个圆 锥空间模型来描述
- YCrCb主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视,这个可以用来检测皮肤和检测人脸
- YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式采用的颜色空间。
三、色彩空间的转换
OpenCV提供多种将图像的色彩空间转换为另一个色彩空间的方法,转换方法的方法名一般为 “原色彩空间2需要转化的色彩空间”,下面我们以图像的RGB色彩转换为其他四种色彩空间和GRAY色彩空间。
def ColorSpace(image): """ 色彩空间转化 RGB转换为其他色彩空间 """ gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) cv.imshow("gray",gray) hsv=cv.cvtColor(image,cv.COLOR_RGB2HSV) cv.imshow("hsv",hsv) yuv=cv.cvtColor(image,cv.COLOR_RGB2YUV) cv.imshow("yuv",yuv) ycrcb=cv.cvtColor(image,cv.COLOR_RGB2YCrCb) cv.imshow("ycrcb",ycrcb)
四、标记图像中的特定颜色
一般对颜色空间的图像进行有效处理都是在HSV空间进行的,然后对于基本色中对应的HSV分量需要给定一个严格的范围,下面是网友通过实验计算的模糊范围(准确的范围在网上都没有给出)。
H: 0 — 180
S: 0 — 255
V: 0 — 255
以下是不同颜色的HSV最大最小的范围:
以下代码是标注出图像中的黑色部分,黑色部分将以白色显示,其他颜色部分将以黑色显示,颜色标注OpenCV 提供了一个方法,inRange()。该方法提供三个参数,第一个参数是图像色彩空间即hsv值,第二个参数是hsv的最小查找范围,第三个参数是hsv的最大查找范围。代码运行后,将会标注出图像的黑色部分。
capture=cv.VideoCapture("test.mp4") while(True): ret,frame=capture.read() if ret==False: break; hsv=cv.cvtColor(frame,cv.COLOR_BGR2HSV) lower_hsv=np.array([0,0,0]) upperb_hsv = np.array([180, 255, 46]) mask=cv.inRange(hsv,lowerb=lower_hsv,upperb=upperb_hsv) cv.imshow("video_mask", mask) cv.imshow("video",frame) c=cv.waitKey(40) if c==27: break;
阅读全文
0 0
- Python3与OpenCV3.3 图像处理(四)--色彩空间
- Python3与OpenCV3.3 图像处理(五)--图像运算
- Python3与OpenCV3.3 图像处理(十六)--图像金字塔
- Python3与OpenCV3.3 图像处理(十七)--图像梯度
- Python3与OpenCV3.3 图像处理(六)--ROI
- Python3与OpenCV3.3 图像处理(七)--洪填充
- Python3与OpenCV3.3 图像处理(八)--模糊
- Python3与OpenCV3.3 图像处理(十九)--直线检测
- Python3与OpenCV3.3 图像处理(十一)--图像直方图
- Python3与OpenCV3.3 图像处理(十二)--图像直方图应用
- Python3与OpenCV3.3 图像处理(十五)--图像二值化
- Python3与OpenCV3.3 图像处理(二)--图像基本操作
- Python3与OpenCV3.3 图像处理(十)--EPF
- Python3与OpenCV3.3 图像处理(十三)--反射投影
- Python3与OpenCV3.3 图像处理(十四)--模板匹配
- Python3与OpenCV3.3 图像处理(补)--第十五节补充
- Python3与OpenCV3.3 图像处理(一)--环境搭建与简单DEMO
- Python3与OpenCV3.3 图像处理(二十二)--对象测量(纯代码)
- diskpart clean命令清空分区表后的数据恢复
- openlayers限制地图拖动区域
- 【牛客网】回文串
- CF 888E Maximum Subsequence 折半搜索.
- Redis与java结合使用
- Python3与OpenCV3.3 图像处理(四)--色彩空间
- Shiro (六) RememberMe
- 从入坑到放弃——Android消息机制
- 代理模式学习笔记
- maven+nexus的创建和常见操作
- 将数据以二进制和URL的方式存入数据库并且请求出json
- Flashtext:大规模数据清洗的利器
- 基于Spring MVC和Tomcat服务器的JavaWeb项目----入门篇
- 笔试题 shell