四、色彩空间

article/2024/12/28 2:28:26

一、色彩空间

1、什么是色彩空间?
色彩空间是定义的颜色范围。

2、常见的色彩空间有哪些?
①RGB
在这里插入图片描述在这里插入图片描述

②HSV
在这里插入图片描述
在OpenCV中,Hue的值为0~180°,之所以不是360°是因为,8位存不下,故进行归一化操作,使得Hue取值在0 ~180°,可以通过一个字节来存储。
③HIS
Hue:色调
Intensity:强度
Saturation :饱和度
④YCrCb
主要在早期的人的皮肤检测方面应用
⑤YUV
Android开发中常用,Linux的色彩空间

3、色彩空间之间的相互转化

import cv2def color_space(image):gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)cv2.imshow("gray",gray)hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)cv2.imshow("hsv",hsv)yuv = cv2.cvtColor(image,cv2.COLOR_BGR2YUV)cv2.imshow("yuv",yuv)ycrcb = cv2.cvtColor(image,cv2.COLOR_BGR2YCrCb)cv2.imshow("ycrcb",ycrcb)src = cv2.imread("G:/Juptyer_workspace/study/opencv/opencv3/cat.png")#BGR
cv2.namedWindow("input image",cv2.WINDOW_AUTOSIZE)
cv2.imshow("input image",src)
t1 = cv2.getTickCount()
color_space(src)
t2 = cv2.getTickCount()
time = (t2-t1)/cv2.getTickFrequency()#显示当前运行时间
print("time:%s ms"%(time*1000))#输出当前运行时间单位为ms
cv2.waitKey(0)cv2.destroyAllWindows()

运行效果图如下:在这里插入图片描述
在这里插入图片描述

二、对视频中的目标(青色水杯)进行跟踪

在这里插入图片描述
cv2.inRange(hsv,lowerb=lower,upperb=upper):对HSV颜色过滤,lowerb和upperb需要查上面的表进行颜色转换
方法一:目标物体白色,其余黑色

import cv2
import numpy as npdef extrace_object():capture = cv2.VideoCapture("G:/Juptyer_workspace/study/data/yy.mp4")while(True):ret,frame = capture.read()if ret==False:breakhsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)lower = np.array([78,43,46])#由于水杯是青色的故需要根据表格选出hsv对应的min值upper = np.array([99,255,255])#由于水杯是青色的故需要根据表格选出hsv对应的max值mask = cv2.inRange(hsv,lowerb=lower,upperb=upper)cv2.imshow("video",frame)cv2.imshow("mask",mask)c = cv2.waitKey(40)if c==27:breakt1 = cv2.getTickCount()
extrace_object()
t2 = cv2.getTickCount()
time = (t2-t1)/cv2.getTickFrequency()#显示当前运行时间
print("time:%s ms"%(time*1000))#输出当前运行时间单位为ms
cv2.waitKey(0)cv2.destroyAllWindows()

效果图如下:在这里插入图片描述
在这里插入图片描述
方法二:目标物体颜色保留,其余黑色

import cv2
import numpy as npdef extrace_object():capture = cv2.VideoCapture("G:/Juptyer_workspace/study/data/yy.mp4")while(True):ret,frame = capture.read()if ret==False:breakhsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)lower = np.array([78,43,46])#由于水杯是青色的故需要根据表格选出hsv对应的min值upper = np.array([99,255,255])#由于水杯是青色的故需要根据表格选出hsv对应的max值mask = cv2.inRange(hsv,lowerb=lower,upperb=upper)dst = cv2.bitwise_and(frame,frame,mask=mask)cv2.imshow("video",frame)#cv2.imshow("mask",mask)cv2.imshow("dst",dst)c = cv2.waitKey(40)if c==27:breakt1 = cv2.getTickCount()
extrace_object()
t2 = cv2.getTickCount()
time = (t2-t1)/cv2.getTickFrequency()#显示当前运行时间
print("time:%s ms"%(time*1000))#输出当前运行时间单位为ms
cv2.waitKey(0)cv2.destroyAllWindows()

效果图如下:在这里插入图片描述
在这里插入图片描述

三、对彩色图像三颜色通道进行分割显示并合并显示

cv2.split(src):对src三颜色通道的彩色图像进行分割
cv2.merge([b,g,r]):将b,g,r三个单颜色通道图像进行合并

import cv2
import numpy as npsrc = cv2.imread("G:/Juptyer_workspace/study/opencv/opencv3/cat.png")#BGR
cv2.namedWindow("input image",cv2.WINDOW_AUTOSIZE)
cv2.imshow("input image",src)
t1 = cv2.getTickCount()b,g,r = cv2.split(src)#拆分彩色通道图像
cv2.imshow("blue",b)
cv2.imshow("green",g)
cv2.imshow("red",r)src = cv2.merge([b,g,r])#将拆分的三个单颜色通道进行合并还原
src[:,:,0]=0#将第0个颜色通道,即B颜色通道赋值为0
cv2.imshow("changed",src)t2 = cv2.getTickCount()
time = (t2-t1)/cv2.getTickFrequency()#显示当前运行时间
print("time:%s ms"%(time*1000))#输出当前运行时间单位为ms
cv2.waitKey(0)cv2.destroyAllWindows()

效果图如下:在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/e7Ree1dI.shtml

相关文章

色彩系统总结

一、基本概念 1、几种色彩模式:RGB、HSB(HSV)、HSL RGB(Red 红色、Green 绿色、Blue 蓝色) HSB(Hue 色相、Saturation 饱和度、Brightness 明度) HSB 也称 HSV(Hue 色相、Saturation 饱和度、Value 值&…

色阶、灰度色彩模式、灰度等级

色彩三属性图解 色彩的客观三属性与主观三属性 在经典艺用色彩学中,我们只知道一种“色彩三属性”,实际上它只是对人们主观感受色彩的心理描述,建立在人的主观基础之上的对色彩属性的描述,色度学称之为“色彩的主观三属性”。 色彩…

图像的大小计算 位深和色深

图像的大小计算 1、位深和色深 位深:即在某一分辨率下,每一个像素点可以有多少种色彩来描述,单位为“bit”(位)。典型的色深是8-bit、16-bit、24-bit和32-bit。深度数值越高,可以获得更多的色彩。 图像深度是指存储每个像素所用的…

15.色彩空间

目录 一 色彩空间的粗略定义 二 色彩空间的分类 1.利用原色相混的比例表示的色彩空间 2.利用不同的概念表示的色彩空间 (1).色相 (2)饱和度 (3)明度 (4)亮度 三 HSV和HSL色…

2.1 色彩空间

色彩发送器 色彩认知:光源是出生点,光源发射出光线,光线通过直射反射折射等路径最终进入人眼。但是人眼接收到光线后,人眼的细胞产生了一系列化学反应。由此把产生的新号传入大脑,最终大脑对颜色产生了认知感知。 光的…

色数(色深”、“灰阶”、“色数”三者的关系)

色数,就是显示器能够显示最大色彩数量。我们在选购显示器时,常常会发现产品资料并未提及色深相关信息,却能看到“1670万色”、“10亿色”之类关于色数的描述,而“10亿色彩”表示该显示器能显示约10亿种不同的颜色。 比如&#xf…

彩色图像色彩空间原理(理论篇—6)

自然界的各种色彩、人类所感知的色彩以及各种图像设备和计算机软件所使用的颜色可通过色彩空间(Color Space)来描述。 色彩是人脑对不同视觉刺激的反应。人眼视网膜上的色敏细胞会分别对红、绿、蓝3个波段的色彩进行采样。采样后的信号传送至大脑后组合…

色彩深度、位深度、8位图像、16位图像、24位图像

在数字图像处理中,平时所说的1位图像、8位图像、16位图像、24位图像、32位图像等,其中的“位”是指图像中每一个像素点的色彩深度,或位深度。 在处理数字图像中的颜色时,计算机实际上是用每个像素点需要的**色彩深度(位…

微信小程序客服系统

微信公众平台 点击 客服 添加 微信文档-接收消息和事件 在页面中使用 第三方客服系统 芝麻小客服 填写对应的 appid && AppSecret 等信息 微信文档-接收消息和事件 在页面中使用 请点赞!因为你的鼓励是我写作的最大动力! 吹逼交流群&…

怎么授权接入芝麻小程序客服系统?

简单四步接入芝麻小客服,轻松上手小程序客服系统! 第一步:点击一键接入 第二步:选择小程序,选择授权接入 第三步:使用小程序管理员的微信扫码授权 请注意:小程序管理员不是公众号管理员,小程序的管理员账号是独立的。

芝麻小程序码基于设计原理提供免费美化小程序码

芝麻小程序码(官网首发美化)基于微信小程序码的设计原理,为小程序的开发、设计、运营人员提供免费的美化小程序码服务,助力小程序的运营推广和产品价值的体现。 先释放几个案列图片出来: 2017年4月份,微信…

scrapy框架下设置代理ip

问题:在使用框架进行爬取的时候报了405错误 解决方法: 使用芝麻代理ip在框架中进行设置 1.先在芝麻代理ip中进行注册 2.联系客服会给你充值让进行测试 3.点击生成api 4.在自己爬虫的middleware中加入代理类 5.在settings文件中进行配置,…

小程序客服关闭自动回复功能后如何解决关注公众号

进入小程序管理后台,小程序的客服的自动打开客服消息被关闭了 这个功能被很多人用来引导关注公众号,或者引导添加个人微信,那这个功能被封闭后,怎么办呢? 只能设置自动回复功能了。 芝麻小客服 http://xiaokefu.com.…

微信小程序客服可以直接在手机回复吗,小程序客服功能怎么用手机回复,微信小程序客服手机版

如题,很多小伙伴问过这个问题,答案是可以的。而且,这个解决方式是用小程序来解决,完全不需用下APP,真正地在一款小程序上处理多个小程序客服消息! 一、在没有账号之前,支持抢先体验!…

小程序客服消息

看到很多小程序里,点客服,提示关注公众号,比如制作器里这个功能,能够自动引导关注公众号,图文体验非常好,研究了小程序客服接口后,我们就自己把它做成一个工具了,方便小程序的运营人…

微信小程序-虚拟支付的解决方案!原来还可以这么玩!

什么是虚拟支付?比如购买非实物(VIP会员、充值、课程、虚拟物品等) 这次虚拟支付的整改,最受影响的应该就是那些知识付费、购买课程、在线教育之类的小程序 而这次整改,只针对于ios系统的小程序,安卓系统…

小程序多客服对应售前售后,或者不同的客服人员

小程序的客服是一个比较强大的功能,可以和用户进行交流,可以图文引导用户打开连接,比如关注公众号,可以图文回复用户。 需求,不如我有两个客服按钮,需要回答不同的自动回复 客服按钮A,打开售前客…

小程序客服移动版上线,手机查看和回复消息更及时!

大家期待已久的多客服手机端,今天正式上线了!!! 不好意思,让你们多等了,为了完善产品的功能性,用户体验,我们测试了很多次,那么它的特点是什么呢!&#xff0…

一个超厉害的智能小程序:可接收你的小程序客服消息,无需开发,自动接入。

它是一款智能小程序客服的小程序工具。分四步为大家测评下 ①进入小程序 ②登入账号 ③查看回复消息 ④个人中心 一、进入小程序 它四个说明:登入,注册,体验,功能 1.登入界面,如果没有账号,请 点击这里…

《微酋长大课堂》之“小程序如何接入多客服系统?”

微酋长小程序接入多客服系统的方式: 一、使用微信公众平台网页版客服工具 ① 添加多客服:小程序后台——客服反馈——客服人员——添加——确定 ② 客服用“微信公众平台网页版客服工具”回复用户消息 缺点:需要保持电脑在线,经常刷新消息,客服需手动接入用户,用户消息只…