PiCamera 和 CV2 imdecode 总是返回 None
PiCamera and CV2 imdecode always returning None
我在 Raspberry PI 上通过 PiCamera 使用 CV2 时遇到问题。这是我的代码:
camera = PiCamera()
camera.resolution = ( 320, 240 )
camera.framerate = 60
rawCapture = PiRGBArray( camera, size=( 320, 240 ) )
time.sleep(1)
start = time.time()
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
# and occupied/unoccupied text
images = frame.array
# show the frame
cv2.imshow("Frame", images)
cv_img = images.astype(np.uint8)
gray = cv2.imdecode(np.fromstring(cv_img, dtype=np.uint8), cv2.IMREAD_GRAYSCALE)
image = cv2.imdecode(np.fromstring(cv_img, dtype=np.uint8), cv2.IMREAD_UNCHANGED)
print("IMAGE: ",image)
print("GRAY: ",gray)
image 和 gray 总是 None 而 images 和 cv_image 包含正确的框架。我真的不明白为什么它不起作用,你能帮帮我吗?
提前谢谢你。
我发现 picamera.array
是连接 picamara
和 cv2
的可靠方法。 docs 有一些例子与你的相差不远。
一旦您完全进入 cv2
领土,
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
是进行灰度转换的典型方法。通过 imdecode
的方式来做是过分的。
我在 Raspberry PI 上通过 PiCamera 使用 CV2 时遇到问题。这是我的代码:
camera = PiCamera()
camera.resolution = ( 320, 240 )
camera.framerate = 60
rawCapture = PiRGBArray( camera, size=( 320, 240 ) )
time.sleep(1)
start = time.time()
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
# and occupied/unoccupied text
images = frame.array
# show the frame
cv2.imshow("Frame", images)
cv_img = images.astype(np.uint8)
gray = cv2.imdecode(np.fromstring(cv_img, dtype=np.uint8), cv2.IMREAD_GRAYSCALE)
image = cv2.imdecode(np.fromstring(cv_img, dtype=np.uint8), cv2.IMREAD_UNCHANGED)
print("IMAGE: ",image)
print("GRAY: ",gray)
image 和 gray 总是 None 而 images 和 cv_image 包含正确的框架。我真的不明白为什么它不起作用,你能帮帮我吗?
提前谢谢你。
我发现 picamera.array
是连接 picamara
和 cv2
的可靠方法。 docs 有一些例子与你的相差不远。
一旦您完全进入 cv2
领土,
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
是进行灰度转换的典型方法。通过 imdecode
的方式来做是过分的。