資源簡介
在python中應用,要求有opencv3.4,運行就可以看到檢測效果圖
代碼片段和文件信息
#?USAGE
#?python?real_time_object_detection.py?--prototxt?MobileNetSSD_deploy.prototxt.txt?--model?MobileNetSSD_deploy.caffemodel
#?import?the?necessary?packages
from?imutils.video?import?VideoStream
from?imutils.video?import?FPS
import?numpy?as?np
import?argparse
import?imutils
import?time
import?cv2
#?construct?the?argument?parse?and?parse?the?arguments
ap?=?argparse.ArgumentParser()
ap.add_argument(“-p“?“--prototxt“default=“MobileNetSSD_deploy_0.prototxt“
help=“path?to?Caffe?‘deploy‘?prototxt?file“)
ap.add_argument(“-m“?“--model“default=“MobileNetSSD_deploy_0.caffemodel“
help=“path?to?Caffe?pre-trained?model“)
ap.add_argument(“-c“?“--confidence“?type=float?default=0.2
help=“minimum?probability?to?filter?weak?detections“)
args?=?vars(ap.parse_args())
#?initialize?the?list?of?class?labels?MobileNet?SSD?was?trained?to
#?detect?then?generate?a?set?of?bounding?box?colors?for?each?class
CLASSES?=?[“background“?“aeroplane“?“bicycle“?“bird“?“boat“
“bottle“?“bus“?“car“?“cat“?“chair“?“cow“?“diningtable“
“dog“?“horse“?“motorbike“?“person“?“pottedplant“?“sheep“
“sofa“?“train“?“tvmonitor“]
COLORS?=?np.random.uniform(0?255?size=(len(CLASSES)?3))
#?load?our?serialized?model?from?disk
print(“[INFO]?loading?model...“)
net2?=?cv2.dnn.readNetFromCaffe(args[“prototxt“]?args[“model“])
#?net2=cv2.dnn.readNetFromCaffe(“VGG_SSD_300.prototxt““VGG_SSD_300.caffemodel“)
#?net2=cv2.dnn.readNetFromTensorflow(“face.pb“)
#?initialize?the?video?stream?allow?the?cammera?sensor?to?warmup
#?and?initialize?the?FPS?counter
print(“[INFO]?starting?video?stream...“)
#vs?=?VideoStream(src=0).start()
#?vs?=cv2.VideoCapture(‘C:\\Users\\voidking\\Desktop\\real-time-object-detection\\test_video.flv‘)
#?vs?=cv2.VideoCapture(‘./test_video.flv‘)
#?vs?=cv2.VideoCapture(“video1.mp4“)
vs?=cv2.VideoCapture(‘timg.jpg‘)
time.sleep(2.0)
fps?=?FPS().start()
#?loop?over?the?frames?from?the?video?stream
while?True:
#?grab?the?frame?from?the?threaded?video?stream?and?resize?it
#?to?have?a?maximum?width?of?400?pixels
#frame?=?vs.read()
#frame?=?imutils.resize(frame?width=400)
#?grab?the?frame?from?the?threaded?video?file?stream
(grabbedframe)?=?vs.read()
#?if?the?frame?was?not?grabbed?then?we?have?reached?the?end
#?of?the?stream
if?not?grabbed:
break
frame?=?imutils.resize(frame?width=800)
#?grab?the?frame?dimensions?and?convert?it?to?a?blob
(h?w)?=?frame.shape[:2]
blob?=?cv2.dnn.blobFromImage(cv2.resize(frame?(300?300))
0.007843?(300?300)?127.5)
#?pass?the?blob?through?the?network?and?obtain?the?detections?and
#?predictions
net2.setInput(blob)
detections?=?net2.forward()
#?print(np.max(detections[0]))
#?print(detections)
#?loop?over?the?detections
for?i?in?np.arange(0?detections.shape[2]):
#?extract?the?confidence?(i.e.?probability)?associated?with
#?the?prediction
confidence?=?detections[0?0?i?2]
#?filter?out?weak?detections?by?ensuring?the?‘confidence‘?is
#?greater?than?the?minimum?confidence
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????288??2018-05-29?10:03??Detect\.idea\misc.xm
?????文件????????276??2018-05-29?10:03??Detect\.idea\modules.xm
?????文件????????398??2018-05-29?10:05??Detect\.idea\personDetect.iml
?????文件???????8418??2018-05-29?11:23??Detect\.idea\workspace.xm
?????文件???23147564??2018-03-29?15:47??Detect\MobileNetSSD_deploy_0.caffemodel
?????文件??????29353??2018-03-29?15:47??Detect\MobileNetSSD_deploy_0.prototxt
?????文件???????4972??2018-11-07?16:56??Detect\real_time_ob
?????文件??????57064??2018-11-06?20:25??Detect\timg.jpg
?????文件???????4072??2018-11-07?15:56??Detect\yoloT.py
?????目錄??????????0??2018-05-29?10:05??Detect\.idea\inspectionProfiles
?????目錄??????????0??2018-05-29?11:23??Detect\.idea
?????目錄??????????0??2018-11-07?16:55??Detect
-----------?---------??----------?-----??----
?????????????23252405????????????????????12
評論
共有 條評論