Opencv基础自学五(捕获特定颜色)

通过指定颜色,这次的例子是绿色,即图片中所有的绿色(这里的绿色有清晰的界限,最低值和最高值,一般所说的绿色是非常抽象的,但计算机的绿色要明显指定),都会捕获到,并显示出来。

import cv2 as cv
import numpy as np





def extrace_object_demo():
	capture = cv.VideoCapture("D:/testvideo.rmvb")
	while(True):
		ret, frame = capture.read()#第一个参数ret的值为True或False,代表有没有读到图片。第二个参数是frame,是当前截取一帧的图片。
		if ret == False:#如果读不到图片,退出循环,即视频的图片已结束
			break
		hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)#把它转成色彩空间
		lower_hsv = np.array([37, 43, 46])#创建一行3列,最低值
		upper_hsv = np.array([77, 255, 255])#创建一行3列,最高值
		mask = cv.inRange(hsv, lowerb=lower_hsv, upperb=upper_hsv)#创建跟踪颜色,这次是绿色,输入图片,低值,高值
		#cv.imshow("mask", mask)#可以直接用,但只是原始的数据,
		dst = cv.bitwise_and(frame, frame, mask=mask)#这个应该是加载视频的数据进行演示,使用位“与”运算来叠加面具,前面两个参数固定,最后一个是掩码
		cv.imshow("video", frame)#输出原始视频
		cv.imshow("mask", dst)#补抓到的视频,绿色颜色
		c = cv.waitKey(40)# 程序会等待40毫秒才会读取下一帧
		if c == 27:#如果是按“esc”,则退出
			break



print("--------- Hello Python ---------")
extrace_object_demo()
cv.waitKey(0)

效果如下:

Opencv基础自学五(捕获特定颜色)

Opencv基础自学五(捕获特定颜色)Opencv基础自学五(捕获特定颜色) gamblerofdestinyR14 发布了59 篇原创文章 · 获赞 1 · 访问量 1189 私信 关注
上一篇:用sc命令查询系统状态


下一篇:通用方法,将可为空的枚举拆箱