我目前正在做一个项目,需要用机载摄像头进行人体检测。长话短说,我现在正在尝试使用OpenCV canny边缘检测器。
所有的问题是,我不能真正弄清楚如何对捕获的视频应用检测(好吧,对于图像,库中包含了示例)。
也许在处理环境中有人这样做了?
import processing.video.*;
import gab.opencv.*;
OpenCV opencv;
Capture cam;
PImage src, canny;
void setup(){
size(640,480);
cam = new Capture(this, 640/2,480/2);
cam.start();
opencv = new OpenCV(this, cam);
opencv.findCannyEdges(20,75);
canny = opencv.getSnapshot();
}
void draw(){
pushMatrix();
scale(2);
image(cam, 0,0);
image(canny, cam.width, 0);
popMatrix();
}
void captureEvent(Capture c){
c.read();
}发布于 2018-12-18 21:21:39
我认为您需要的是cv2.VideoCapture方法。
下面是我用Python做的一个例子,但你应该能够转移用法。
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
ret, frame = cap.read()
gray_vid = cv2.cvtColor(frame, cv2.IMREAD_GRAYSCALE)
cv2.imshow('Original',frame)
edged_frame = cv2.Canny(frame,100,200)
cv2.imshow('Edges',edged_frame)
# Quit with 'Esc' key
k= cv2.waitKey(5) & 0xFF
if k==27:
break
cap.release()
cv2.destroyAllWindows()最好的问候/问候
https://stackoverflow.com/questions/33132455
复制相似问题