【发布时间】:2017-03-29 08:28:37
【问题描述】:
我正在研究我的一个大学项目,即 opencv python 中的对象(汽车)检测,我使用的是 opencv 3 和 python 3.4。我有一个代码,但是当我运行代码时,不显示输出。它表明代码没有错误,但仍然无法获得输出。我是图像处理的新手,所以如果有人试图解决我的问题,这将是一个很大的帮助。代码如下`
import cv2
import numpy as np
import argparse
ap = argparse.ArgumentParser()
ap.add_agrument("-v","--video",
help = "path to the (optional) video file")
args = vars(ap.parse_agrs())
camera = cv2.VideoCapture(agrs["video"])
car_cascade = cv2.CascadeClassifier("cars.xml")
while true:
ret,frames = camera.read(),cv2.rectangle()
gray = cv2.cvtColor(frames, cv2.COLOR_BGR2GRAY)
cars = car_cascade.detectionMultiScale(gray, 1.1,1)
for (x,y,w,h) in cars:
cv2.rectangular()frames,(x,y),(x+w,y+h), (0,0,255),2)
cv2.imshow ('video',frames)
cv2.waitkey(0)
【问题讨论】:
-
您有严重的缩进问题。先检查一下
-
你说你的代码没有错误,那么这个怎么办:
cv2.rectangular()frames,(x,y),(x=w,y+h), (0,o,255),2)不会抛出错误。我严重怀疑你运行了代码。 -
让人怀疑缩进问题仅仅是因为在 SO 中粘贴时格式不佳,您至少有两个语法问题。第 11 行,缺少 coma b/n
read()和c2;第 15 行 - 方法rectangular()中的参数是 not(删除右括号)) -
逻辑错误 - 在 argparse 中您将
--video标记为可选,但如果未提供第 8 行会发生什么。
标签: python opencv image-processing