测试的代码

# 导入必要模块

import cv2
import numpy as np
import time
start = time.time()
vc = cv2.VideoCapture(0)#('data/data.mp4')
c = 1
d = 0
if vc.isOpened():  # 判断是否正常打开
    rval, frame = vc.read()
else:
    rval = False

timeF = 5  # 视频帧计数间隔频率
# try:
lower_colorYellow = np.array([26, 43, 46])  # 分别对应着HSV中的最小值
upper_colorYellow = np.array([34, 255, 255])  # 分别对应着HSV中的最大值
lower_colorRed = np.array([0, 43, 46])
upper_colorRed = np.array([10, 255, 255])
lower_colorRed2 = np.array([156, 43, 46])
upper_colorRed2 = np.array([180, 255, 255])
while rval:  # 循环读取视频帧
    rval, frame = vc.read()
    if (c % timeF == 0):  # 每隔timeF帧进行存储操作
        d = d + 1
        img = frame

        tag = 0
        res = ''
        b, g, r = cv2.split(img)

        cv2.waitKey(0)
        # img = cv2.imread("data/red1.png")  # 读取图片路径
        img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)  # 将BGR图像转换为HSV格式

        YellowMask = cv2.inRange(img_hsv, lower_colorYellow, upper_colorYellow)  # inrange函数将根据最小最大HSV值检测出自己想要的颜色部分
        RedMask = cv2.inRange(img_hsv, lower_colorRed, upper_colorRed)  # inrange函数将根据最小最大HSV值检测出自己想要的颜色部分
        RedMask2 = cv2.inRange(img_hsv, lower_colorRed2, upper_colorRed2)  # inrange函数将根据最小最大HSV值检测出自己想要的颜色部分
        if YellowMask.max() == 255:
            print(' 检测到黄色!')
            tag = 1
            res = ' yellow '
        elif RedMask.max() == 255:

            print('检测到红色!')
            tag = 1
            res = ' red '
        elif RedMask2.max() == 255:
            print('检测到红色!')

            tag = 1
            res = ' red '
        if tag == 1:
            cv2.imwrite('data/res/' + str(d) +res+''+str(c) + '.jpg', frame)  # 存储为图像-----Ubuntu下路径
        # cv2.imwrite('E:/yolov5-pytorch-main-attention/1/' + str(d) + '.jpg', frame)  # 存储为图像-----Windows下路径
            #print(d)

    c = c + 1
    cv2.waitKey(1)
vc.release()
end = time.time()
print(end - start, 's')
#cv2.imshow("mask", RedMask2)  # 通过imshow显示
cv2.waitKey(0)  # 等待键盘按下按键退出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值