我正在尝试使用OpenCV制作一个Python程序,它既可以从网络摄像头捕获视频,也可以分析其图片。所以,程序分为两部分。 正常工作的视频捕获:
import cv2
import numpy as np
cap0 = cv2.VideoCapture(0)
while True:
_, frame = cap0.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
lower_beige = np.array([90,00,40])
upper_beige = np.array([150,255,135])
mask = cv2.inRange(hsv, lower_beige, upper_beige)
res = cv2.bitwise_and(frame,frame, mask= mask)
图像分析:
imgray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy =
cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cnt = contours[0]
area=cv2.contourArea(cnt)
perimeter = cv2.arcLength(cnt,True)
hull = cv2.convexHull(cnt)
img = cv2.drawContours(img, hull, -1, (0,0,255), 3)
area = cv2.contourArea(cnt)
print(area)
我想做的是使用每个'mask'变量,它是视频的一帧(尽管有点修改),并实时分析它,例如在两个程序之间使用:“img=cv2.imread(mask,-1)”来链接它们。然而,既然“mask”是视频的一个帧,而“img”必须是一个.jpg图片,我怎么能链接这些程序呢? 谢谢
目前没有回答
相关问题 更多 >
编程相关推荐