如何链接视频捕获和逐帧分析(in.jpg)?

2024-09-27 00:12:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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图片,我怎么能链接这些程序呢? 谢谢


Tags: import程序trueimg视频np图片mask

热门问题