十五天掌握OpenCV——颜色空间转换

魏老师学生——Cecil:学习OpenCV-机器视觉之旅


Aim:对图像进行颜色空间转换。从BGR到灰度图,从BGR到HSV。

转换颜色空间

  1. cv2.cvtColor(input_image,flag) ——解释:flag转换类型。
  2. cv2.COLOR_BGR2GRAY。BGR转换Gray。
  3. cv2.COLOR_BGR2HSV。 BGR转换HSV。
  4. OpenCV的HSV格式,H(色彩/色度)取值范围[0,170],S(饱和度)取值范围[0,255],V(亮度)取值范围[0,255]。

代码演示

# coding = utf-8

import cv2
flags = [i for in dir{cv2} if i stareswith{'COLOR_'}]
print(flags)

物体跟踪

  1. 从视频中获取每一帧图像
  2. 将图像转换到HSV空间
  3. 设置HSV阈值到蓝色范围
  4. 获取蓝色物体。

代码演示

# coding = utf-8

import cv2
import numpy as np

cap=cv2.VideoCapture(0)
while(1):
	# 获取每一帧
	ret , frame = cap.read()
	# 转换到HSV
	hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
	# 设定蓝色的阈值
	lower_blue=np.array([110,50,50])
	upper_blue=np.array([130,255,255])
	# 根据阈值构建掩模
	mask=cv2.inRange(hsv,lower_blue,upper_blue)
	# 对原图像和掩模进行位运算
	res=cv2.bitwise_and(frame,frame,mask=mask)
	# 显示图像
	cv2.imshow('frame',frame)
	cv2.imshow('mask',mask)
	cv2.imshow('res',res)
	k = cv2.waitKey(5)&0xFF
	if k=27:
		break
	# 关闭窗口
cv2.destroyAllWindows()

找出跟踪对象的HSV值

  1. cv2.cvtcolor(BGR值) ——解释:找到hsv值。

代码演示

# Aim:找出绿色的hsv值。
# coding = utf-8
import cv2
import numpy as np

green=np.uint8([[[0,255,0]]])  #三层括号对应于cvArray,cvMat,IplImage
hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2GRAY)
print(hsv_green)

效果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值