opencv---颜色空间转化并实现物体跟踪
来源:互联网 发布:2016年北京旅游数据 编辑:程序博客网 时间:2024/05/21 04:22
一、图像处理的基本操作
因为这是第一篇写opencv的笔记,故先讲讲在python下写opencv的基本操作。总共总结了三点如下:
- 开头一定要加编码声明:-*- coding: utf-8 -*-
- python下记得引入opencv模块:import cv2
- 要知道如何读取并展示图片,代码如下:
# -*- coding: utf-8 -*-import cv2import numpy as npname1=cv2.imread(图片名称,如何读取)#读取图片cv2.imshow(窗口名字,name1)#展示图片cv2.waitKey()#这是一个键盘绑定函数,只需记到在cv2.imshow后一定要加上这句.cv2.destoryAllWindows()
二、颜色空间转化
当我们读取完一张图片,一般情况下它都是BGR模式。那么什么是BGR模式呢?总所周知,色彩中不能再分解的基本色称之为原色,原色可以合成其他的颜色,而其他颜色却不能还原出本来的色彩。我们通常说光的三原色,即红、绿、蓝,它们按不同比例的相互混合是可以变成其他所有颜色。不知道你们用过Photoshop没有,里面的调色板就是依靠这个BGR原理。
白色:RGB(255,255,255)
黑色:RGB(0,0,0)
红色:RGB(255,0,0)
绿色:RGB(0,255,0)
蓝色:RGB(0,0,255)
青色:RGB(0,255,255)
紫色:RGB(255,0,255)
当然颜色模式不止只有BGR一种,在这里我再向大家介绍一种模式,它叫HSV。咋一听,大家是不是以为是在讲病毒呢?哈哈,这只是恰巧重名而已,大家莫慌。HSV(Hue,Saturation,Value)是根据颜色的直观特性由A.R.Smith在1978年创建的一种颜色空间,也称六角锥体模型。这个模型中颜色的参数分别是:色调(H),饱和度(S),亮度(V)。HSV对用户来说是一种直观的颜色模型,它与BGR模式有很大的不同。Photoshop也有相似的模式,如下图所示;
色调:用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;
饱和度:取值范围为0.0~1.0,值越大,颜色越饱和;
亮度:取值范围为0(黑色)~255(白色);
现在向大家介绍一种使颜色模式转化的函数,cv2.cvtColor(input_image,flag)其中第一个参数是目标图片,第二个参数是转化类型,如cv2.COLOR_BGR2GRAY、cv2.COLOR_BGR2HSV.下面这段代码是将一个名为"1,jpg"的图片改为HSV模式.
# -*- coding: utf-8 -*-import cv2import numpy as npa=cv2.imread('1.jpg')#读取一张图片b=cv2.cvtColor(a,cv2.COLOR_BGR2HSV)#转化为HSV
三、物体跟踪
在我们将一幅图从BGR模式改为HSV后,我们就可以利用这一点来提取带有特定颜色的物体,这是因为在HSV颜色空间中要比在BGR空间中更容易表示一个特定颜色。
# -*- coding: utf-8 -*-import cv2import numpy as npa=cv2.imread('2.jpg')#读取一张图片b=cv2.cvtColor(a,cv2.COLOR_BGR2HSV)#转化为HSVlower_blue=np.array([110,50,50])upper_blue=np.array([130,255,255])#设定蓝色的阈值mask=cv2.inRange(b,lower_blue,upper_blue)#根据阈值构建掩摸res=cv2.bitwise_and(b,b,mask=mask)# 对原图像和掩模进行位运算cv2.imshow('mask',mask)cv2.imshow('b',b)cv2.imshow('first',a)cv2.waitKey()cv2.destoryAllWindows()
- opencv---颜色空间转化并实现物体跟踪
- opencv--颜色物体识别跟踪
- opencv for python(8) 利用颜色空间转换进行物体跟踪
- IOS使用OPENCV实现物体跟踪
- IOS使用OPENCV实现物体跟踪
- Opencv实现Camshift算法(物体跟踪)
- 颜色空间转化 C++实现
- 《OpenCV颜色空间及颜色空间相互转化》
- opencv(八)---物体跟踪
- OpenCv实现 颜色空间缩减
- [OpenCV新手向]一个OpenCV颜色空间转化的实例
- (4)opencv在android平台上实现 物体跟踪
- opencv在Android上实现物体跟踪(7)
- OpenCV 3.2 Tracking 物体跟踪
- VS+MFC+OPENCV摄像头跟踪蓝色物体并输出坐标并发送
- 颜色空间的转化
- OpenCV实现图像物体轮廓,前景背景,标记,并保存。
- 粒子滤波实现物体跟踪
- 汇编语言第三版(王爽著)第一章知识点整理
- RequestDispather对象的使用(六)
- linux实用命令
- ngnix搭建虚拟主机
- js---Date.parse()转化日期为时间戳,ios与Android兼容写法
- opencv---颜色空间转化并实现物体跟踪
- Session的垃圾回收机制
- 数据结构----索引方法(1)线性检索
- 安装mongodb集群及分片(所有命令集合)
- 51nod 1350 斐波那契表示(打表+找规律)
- 关于在PHP增删改查里面遇到的insert无法执行的问题
- Cinema CodeForces
- 《不负韶华》
- 编写程序,实现strcpy()相同功能myStrcpy()函数