别人做的网站怎么打开吗,重庆景点分布图,办办网官网,网站qq 微信分享怎么做的预操作#xff1a;
通过cv2将视频的某一帧图片转为HSV模式#xff0c;并通过鼠标获取对应区域目标的HSV值#xff0c;用于后续的目标识别阈值区间的选取 img cv.imread(rD:\data\123.png)
img cv.cvtColor(img, cv.COLOR_BGR2HSV)
plt.figure(1), plt.imshow…预操作
通过cv2将视频的某一帧图片转为HSV模式并通过鼠标获取对应区域目标的HSV值用于后续的目标识别阈值区间的选取 img cv.imread(rD:\data\123.png)
img cv.cvtColor(img, cv.COLOR_BGR2HSV)
plt.figure(1), plt.imshow(img)
plt.show()1将视频中识别的目标掩膜成红色
end_frame[mask 0] [0, 0, 255]2利用cv库读取显示原始视频 3在HSV阈值分割识别的视频目标
hsv cv.cvtColor(frame, cv.COLOR_BGR2HSV)
# 定义分割黑色的上下区间其代表的是目标物体的hsv空间内的最小值和最大值
low np.array([60, 60, 60])
up np.array([130, 120, 120])
mask cv.inRange(hsv, low, up) 4按位与运算之后的视频目标目标的真实色彩
# 进行按位运算白色的变为frame原来的颜色其他还是黑色
res cv.bitwise_and(frame, frame, maskmask)5主代码已经给出解释
#!/usr/bin/env python
# -*- coding:utf-8 -*-author: LIFEI
time: 2023/8/29 14:39
file: test4.py
project: pythonProject
describe: TODO
# -------------------------------------------------(one)----------------------------------------------
# -------------------------------------------------(two)----------------------------------------------
# -------------------------------------------------(one)----------------------------------------------
import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt# img cv.imread(rD:\data\123.png)
# img cv.cvtColor(img, cv.COLOR_BGR2HSV)
# plt.figure(1), plt.imshow(img)
# plt.show()def identify(path, point):# 创建一个video基类cap cv.VideoCapture(path)# 当cap被打开时开始循环while cap.isOpened():# 读取视频ret, frame cap.read()# 拷贝图像赋值给end_frameend_frame np.copy(frame)# 将视频的BGR空间转换为HSV空间hsv cv.cvtColor(frame, cv.COLOR_BGR2HSV)# 定义分割黑色的上下区间其代表的是目标物体的hsv空间内的最小值和最大值low np.array([60, 60, 60])up np.array([130, 120, 120])# 类似与阈值分割就是将上述的区间类的物体改成白色其他改为黑色mask cv.inRange(hsv, low, up)# 进行按位运算白色的变为frame原来的颜色其他还是黑色res cv.bitwise_and(frame, frame, maskmask)# 将end_frame中的mask白色区域变成红色end_frame[mask 0] [0, 0, 255]# 判断帧率是否存在若是不存在直接退出if not ret:break# 判断输出if point 1:cv.imshow(frame, frame)elif point 2:cv.imshow(mask, mask)elif point 3:cv.imshow(avi, res)else:cv.imshow(end_frame, end_frame)# 这里理解为视频的快慢1表示原始速度越大越慢按‘q’退出显示if cv.waitKey(15) 0xFF ord(q):breakcv.waitKey(0)# 释放cap.release()cv.destroyAllWindows()if __name__ __main__:# 视频的路径filepath rD:\data\plane.avi# 访问输入的数值后续循环要用value input(请输入一个数字1表示ori2表示mask3表示res4表示end_frame)# 转为整型value int(value)# 开始操作identify(filepath, value)# -------------------------------------------------(two) - -------------------------------------------