检测视频中特定颜色
来源:互联网 发布:java apache 编辑:程序博客网 时间:2024/06/05 16:57
简要描述
这章是检测视频中的特定颜色,代码中检测的是蓝色的。经尝试可用。
步骤
● 设置“蓝色”HSV范围
● BGR转HSV
● 捕获摄像头视频
● 获取蓝色部分mask
● 图像按位与操作
● 显示蓝色部分图像
知识点
HSV(Hue , Saturation , Value):色调,饱和度,明度
色度H:用角度度量,取值范围为0~360,红色开始按逆时针方向计算,红色为0度,绿色为120度,蓝色为240度
饱和度S:接近光谱色的程度,颜色可以看成是光谱色与白色混合结果,光谱色占的比例愈大,颜色接近光谱色的程度越高,颜色饱和度就越高。光谱色中白色成分为0,饱和度达到最高,取值范围0%~100%,值越大,颜色越饱和
明度V:表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,与物体的透射比有关,取值 范围为0%(黑)~100%(白)
RGB面向硬件,HSV面向用户
在Opencv中 ,H色度取值范围是[0,179] ,S饱和度的取值范围是[0,255] ,V明度的取值范围是[0,255]
拿opencv的HSV值与其他软件的HSV值进行对比时,要归一化
主要函数
BGR转HSV:cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
获取蓝色部分mask:mask = cv2.inRange(hsv,lower_blue,upper_blue)
图像按位与操作:res = cv2.bitwise_and(frame,frame,mask=mask)
代码
import cv2import numpy as npcap = cv2.VideoCapture(0)#画出蓝色的范围lower_blue = np.array([78,43,46])upper_blue = np.array([110,255,255])while(1): ret,frame = cap.read() cv2.imshow("capture",frame) #转换成hsv hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV) cv2.imshow("HSV",hsv) ''''' cv2.inRange(src , lowerb , upperb[,dst]) 作用:更改函数对某个单通道中的元素检查其值是否在范围中 src:输入数组,lowerb:包含低边界的数组,upperb:包含高边界的数组,dst:输出数组 如果src(I)符合范围,则dst(I)被设置为255,也就是说dst返回的是非黑即白的图像,而且符合要求 的部分是白色的 ''' # 构建物体掩膜(黑白部分),注意这里要使用hsv mask = cv2.inRange(hsv,lower_blue,upper_blue) cv2.imshow("MASK",mask) #对原图像和掩膜进行位运算 res = cv2.bitwise_and(frame,frame,mask=mask) cv2.imshow("result",res) if cv2.waitKey(1) & 0xFF == ord('q'): breakcap.release()cv2.destroyAllWindows()
参考:
【1】http://blog.csdn.net/huanglu_thu13/article/details/52346578#15-python-opencv-检测特定颜色
【2】http://blog.csdn.net/qingyuanluofeng/article/details/51582137
- 检测视频中特定颜色
- python opencv 检测特定颜色
- 如何用Opencv 把视频提取的图像中特定区域的颜色读取出来?求范例程序
- 在listview中以特定颜色显示特定字
- Android中自定义特定颜色的Toast
- RGB图像中特定颜色的提取
- iOS 设置Label中特定的文字大小和颜色
- 颜色分割:提取特定颜色
- 中维世纪监控某一特定时间段视频的恢复
- DBGridEh实现特定颜色
- 视频流中实时人脸检测
- 求Flood Detection 视频中洪水检测的测试视频
- Photoshop扣除特定颜色背景
- 特定区域的动作检测
- 将用于视频运动检测的单高斯背景建模算法移植于YUV颜色空间
- 在gridcontrol中怎样设置满足特定条件的行的颜色等风格
- 在gridcontrol中怎样设置满足特定条件的行的颜色等风格
- 设置一段文字中某些特定的文字可点击,且文字颜色变色
- Hdu 6050
- 【错误解决】本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
- Hadoop源代码分析(一)——输入(TextInputFormat,FileSplit,LineRecordReader)
- 分组元素
- Redis Cluster 集群扩容与收缩
- 检测视频中特定颜色
- 集合框架——定义泛型类
- Base64算法
- 结构体初始化及结构体指针.结构体数组.结构体函数的调用赋值等
- 微信企业号主动发送
- hihoOffer收割练习20题目2
- jQuery LightBox插件原理的简单实现
- HBase集群启动脚本流程分析
- 生物信息脚本练习(3)gb文件转换