Solvedimutils 'NoneType' object has no attribute 'shape'
HeXu1 posts at
27 Answers
Share
Original✔️Accepted Answer
-
When posting code please format it using pre HTML tags or tilde tags. Otherwise your code is unreadable. Please go back and format it.
-
For
NoneType
errors the issue is 99% most likely due to not being able to read frames from your webcam. Ensure that OpenCV can access your webcam before continuing. You can read more aboutNoneType
errors here:
https://www.pyimagesearch.com/2016/12/26/opencv-resolving-nonetype-errors/
And additionally your index of your camera might be incorrect for your system. Instead of:
vs = VideoStream(src=1).start()
Try updating the src
vs = VideoStream(src=0).start()
Related Issues:
42
imutils No module named 'imutils' after pip install
It looks like you pip installed imutils using python2's pip and so that's why python3 can't import i...
8
imutils 'NoneType' object has no attribute 'shape'
When posting code please format it using pre HTML tags or tilde tags Otherwise your code is unreadab...
6
imutils ImportError: No module named imutils
Hm I think you have an issue with your command Hello ...
Hello;
I‘m running the real_time_object_detection program,and the problem is :D:\python3.5.2\Model\object-detection-deep-learning>python real_time_object_detection.py --prototxt=MobileNetSSD_deploy.prototxt.txt --model=MobileNetSSD_deploy.caffemodel
[INFO] loading model...
[INFO] starting video stream...
Traceback (most recent call last):
File "real_time_object_detection.py", line 44, in
frame = imutils.resize(frame, width=400)
File "C:\Anaconda3\lib\site-packages\imutils\convenience.py", line 69, in resize
(h, w) = image.shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'
the code is:
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", required=True,
help="path to Caffe'deploy'prototxt file")
ap.add_argument("-m", "--model", required=True,
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...")
net = cv2.dnn.readNetFromCaffe(args["prototxt"], args["model"])
initialize the video stream, allow the cammera sensor to warmup,
and initialize the FPS counter
print("[INFO] starting video stream...")
vs = VideoStream(src=1).start()
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)
loop over the detections
show the output frame
stop the timer and display FPS information
fps.stop()
print("[INFO] elapsed time: {:.2f}".format(fps.elapsed()))
print("[INFO] approx. FPS: {:.2f}".format(fps.fps()))
do a bit of cleanup
cv2.destroyAllWindows()
vs.stop()
may be the problem is it didn't active the camera when I was running “vs = VideoStream(src=1).start()”?
appreciated for helping me,Thank you.