我正在研究我的一个大学项目,即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)
答案 0 :(得分:2)
我只是删除了argparse命令并稍微编辑了代码并且它正在退出。要查看输出,请单击此处:https://www.youtube.com/watch?v=phG9inHoAKg
代码文件上传到我的github帐户https://github.com/Juzer2012/Car-detection
答案 1 :(得分:1)
你写道:"它显示代码没有错误" ......
这不是(并且多次),例如:
ap.add_agrument(...
应该在哪里
ap.add_argument(...
再次检查更多此类语法错误。快乐的编码:)。
答案 2 :(得分:1)
这里通过您请求的代码示例使用argparse进行图像处理 - 它与python2.x和python3.x一起工作,显示了一个视频流,用于在此目的中打开窗口进行处理。如果您可以看到视频流输出,只需将其标记为您问题的有效答案。提前谢谢(y)。快乐的编码:)。
import cv2
def showVideoStream_fromWebCam(argsVideo, webCamID=0, showVideoStream=True):
cv2_VideoCaptureObj_webCam = cv2.VideoCapture(webCamID)
while True:
retVal, imshowImgObj = cv2_VideoCaptureObj_webCam.read()
if showVideoStream:
imshowImgObj = cv2.flip(imshowImgObj, 1)
cv2.imshow('webCamVideoStream', imshowImgObj)
#:if
if cv2.waitKey(1) == 27:
break # [Esc] to quit
#:if
#:while
cv2.destroyAllWindows()
#:def
import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-v","--video", help = "webCamID (= 0)")
args = vars(ap.parse_args())
showVideoStream_fromWebCam(args["video"])
答案 3 :(得分:0)
通过以大约原始速度(25帧/秒)运行视频,让代码更加完美,取出不必要的内容并首先绘制所有矩形,然后显示框架:
th = link_to "ID",
:sort => "id",
:verweildauer => @search_form.verweildauer,
:datenjahr => @search_form.datenjahr,
:drgsystem => @search_form.drgsystem,
:greatersmallerequal => @search_form.greatersmallerequal,
:patients_per_page => @search_form.patients_per_page