目录:

(一)调用转换函数实现图像色彩空间转换------ cv2.cvtColor函数

(二)色彩空间转换,利用inrange函数过滤视频中的颜色,实现跟踪某一颜色

正文:

(一)调用转换函数实现图像色彩空间转换------ cv2.cvtColor函数

cvtColor(src,code,dst=None,dstCn=None),作用:将一幅图像从一个色彩空间转换到另一个色彩,空间参数:code,转换的色彩空间。

BGR---》GRAY,BGR---》HSV,BGR---》YUV,BGR--》YCrCb
 1 # 色彩空间转换
2 def color_space_demo(img):
3 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
4 cv2.imshow("gray", gray)
5 hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
6 cv2.imshow("hsv", hsv)
7 yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV)
8 cv2.imshow("yuv", yuv)
9 ycrcb = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
10 cv2.imshow("ycrcb", ycrcb)

HSV色彩空间说明: H:0-180  S: 0-255 V: 0-255

(二)色彩空间转换,利用inrange函数过滤视频中的颜色,实现跟踪某一颜色

利用cv2.inRange函数设阈值,这里注意用的颜色空间是hsv。HSV:HSV颜色空间是孟塞尔彩色空间的简化形式,是一种基于感知的颜色模型。它将彩色信号分为3种属性:色调(Hue,H),饱和度(Saturation,S),亮度(Value,V)。色调表示从一个物体反射过来的或透过物体的光波长,也就是说,色调是由颜色的名称来辨别的,如红、黄、蓝;亮度是颜色的明暗程度;饱和度是颜色的深浅,如深红、浅红。

HSV颜色空间反映了人观察色彩的方式,具有两个显著的特点:

  • 亮度分量与图像的彩色信息无关
  • “色调”和“饱和度”分量与人感受颜色的方式是紧密相连的

可以根据右表来确定lower_hsv, upper_hsv的取值。

 1 # -*- coding=GBK -*-
2 import cv2 as cv
3 import numpy as np
4
5
6 def nextrace_object_demo():
7 capture = cv.VideoCapture("G:/1.mp4")#导入视频
8 while True:
9 ret, frame = capture.read()
10 if ret == False:
11 break
12 hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)#转换色彩空间为hsv
13 #设置白色的范围,跟踪视频中的白色
14 lower_hsv = np.array([0, 0, 221])#设置过滤的颜色的低值
15 upper_hsv = np.array([180, 30, 255])#设置过滤的颜色的高值
16 mask = cv.inRange(hsv, lower_hsv, upper_hsv)#调节图像颜色信息(H)、饱和度(S)、亮度(V)区间,选择白色区域
17 cv.imshow("video", frame)
18 cv.imshow("mask", mask)
19 if cv.waitKey(50) & 0xFF == ord('q'):
20 break
21
22 nextrace_object_demo()
23 cv.waitKey(0)
24 cv.destroyAllWindows()、

参考:
https://blog.csdn.net/u011321546/article/details/79533669
https://blog.csdn.net/Vici__/article/details/100714822#12%E3%80%81%E5%BD%A9%E8%89%B2%E7%A9%BA%E9%97%B4%E8%BD%AC%E6%8D%A2

python实现色彩空间转换的更多相关文章

  1. python把汉字转换成拼音实现程序

    python把汉字转换成拼音实现程序 文章一个简洁干的汉字转拼音 程序,复制下载就可以直接使用,有需要的同学可以参考一下下. #coding:utf-8 #基于python2.6 table = 'a ...

  2. Python datatime 格式转换,插入MySQL数据库

    Python datatime 格式转换,插入MySQL数据库 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-11-2 ...

  3. Python中文繁简体转换工具

    Openccpy ___ _____ __ ___ ___ ___ _____ __ __ / __`\/\ '__`\ /'__`\/' _ `\ /'___\ /'___\/\ '__`\/\ \ ...

  4. Python 进制转换 二进制 八进制 十进制 十六进制

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...

  5. 使用python制作时间戳转换工具

    使用python制作时间戳转换工具 python 时间戳转日期 日期转时间戳 前言:作为一个程序员一般情况下,json和时间戳是常用的两个工具,我咨询过很多个朋友,他们一般都是通过在线工具对json进 ...

  6. Python进制转换(二进制/八进制/十进制/十六进制)

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 ba ...

  7. python 的 json 转换

    python 的 json 转换 本文为原创文章,禁止转载! 本文以 json.dumps()  和 json.loads() 方法进行 Python 数据和 json 格式之间转换,进行讲解 首先比 ...

  8. Ubuntu16.04系统中不同版本Python之间的转换

    Ubuntu系统自带的版本是2.7.12 安装好python3.6之后,改变一下Python的优先级(需要root权限). 在使用下面这个命令查看电脑里面有几个Python版本 update-alte ...

  9. 妙用python之编码转换

    转自i春秋 文章难易度:★★ 知识点:python.编码转换 前 言 在日常渗透,漏洞挖掘,甚至是CTF比赛中,会遇到各种编码,常常伴随着这些编码之间的各种转换.记得刚入门那个时候,自己处理编码转换问 ...

随机推荐

  1. 11204备库升级PSU

    某系统PSU为11.2.0.4.190115,备库打补丁20年10月份(31537677)由readme可知:1.要求OPatch要求为11.2.0.3.23或之后的版本.2.非rac环境打补丁需要关 ...

  2. C#开发BIMFACE系列45 服务端API之创建离线数据包

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] BIMFACE的常规应用方式有公有云与私有化部署两种方式,并且浏览模型或者图纸需要使用ViewToken,ViewToke ...

  3. 成功在Caterpillar代码中插入事件对象-20200917

    首先搞清楚了Caterpillar的solidity代码生成机制.Caterpillar分为Caterpillar Core和 executepanel两部分. executePanel是UI前端,用 ...

  4. 电脑日常使用bug记录

    1.由于电脑太卡了,于是决定关一点服务,一不小心,电脑无线无法使用了.启动无线服务时提示"windows无法启动wlan autoconfig服务错误1068依赖服务" 启动 Ex ...

  5. [敏捷软工团队博客]Beta设计和计划

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta设计和计划 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Beta ...

  6. Beta阶段第十次会议

    Beta阶段第十次会议 时间:2020.5.26 完成工作 姓名 完成工作 难度 完成度 ltx 1.修正小程序新闻bug2.修正小程序认证bug 中 80% xyq 1.上传信息编辑部分代码到服务器 ...

  7. Beta阶段第二次会议

    时间:2020.5.18 工作进展 姓名 工作 难度 完成度 ltx 1.在开小程序开发文档,学习相关知识 轻 85% xyq 1.完成活动场地申请可视化代码(耗时半天) 中 100% lm 1.设计 ...

  8. BUAA_2020_软件工程_软件案例分析作业

    项目 内容 这个作业属于那个课程 班级博客 这个作业的要求在哪里 作业要求 我在这个课程的目标是 学习掌握软件工程的相关知识 这个作业在哪个具体方面帮我实现目标 通过对具体软件案例的分析学习软件工程 ...

  9. virtual box搭建虚拟机nat和host only网络配置实用

    virtual box搭建虚拟机nat和host only网络配置实用 一.背景 二.需求 二.设置虚拟机的网络 1.创建一个全局的nat网络 2.添加主机网络管理器 3.设置虚拟机网络 1.网卡1设 ...

  10. alertmanager的使用

    alertmanager的使用 一.Alertanager的安装 1.下载 2.安装 3.启动 4.alertmanager和prometheus的整合 二.告警分组 1.告警规则 2.alertma ...