这次加入了摄像头
实现思路:视频其实就是每一张图片的叠加,只要对视频中的每一帧读入并作处理,就能实现对视频流中目标的识别。所以这里我们只要将读入图像和处理图像的操作放入while循环中就能实现实时的识别目标了。
具体代码实现
import cv2
import numpy as np
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
#定义一个形态学处理的函数
def good_thresh_img(img):
gs_frame = cv2.GaussianBlur(img, (5, 5), 0) #高斯滤波
hsv = cv2.cvtColor(gs_frame, cv2.COLOR_BGR2HSV) # 转化成HSV图像
erode_hsv = cv2.erode(hsv, None, iterations=2)
return erode_hsv
#定义一个识别目标颜色并处理的函数
def select_color_img(target_color,img):
for i in target_color:
mask=cv2.inRange(erode_hsv,color_dist[i]['Lower'],color_dist[i]['Upper'])
if(i==target_color[0]):
inRange_hsv=cv2.bitwise_and(erode_hsv,erode_hsv,mask = mask)
else:
inRange_hsv1=cv2.bitwise_and(erode_hsv