处理中的OpenCV Canny边缘检测器(实时视频)

时间:2015-10-14 18:01:56

标签: opencv processing

我目前正在开发一个需要使用车载摄像头进行人体检测的项目。长话短说,我现在正尝试使用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();
}

1 个答案:

答案 0 :(得分:0)

我认为您需要的是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()

最诚挚的问候/ Colm