TypeError: mat data type = 17 is not supported, show IR data with realsense d435
TypeError: mat data type = 17 is not supported, show IR data with realsense d435
我目前正在使用 d435,我想显示 IR 图像(左侧和右侧,但目前只关注一个),遵循我的代码:
import pyrealsense2 as rs
import numpy as np
import cv2
# We want the points object to be persistent so we can display the
#last cloud when a frame drops
points = rs.points()
# Create a pipeline
pipeline = rs.pipeline()
#Create a config and configure the pipeline to stream
config = rs.config()
config.enable_stream(rs.stream.infrared, 1, 1280, 720, rs.format.y8, 30)
# Start streaming
profile = pipeline.start(config)
# Streaming loop
try:
while True:
# Get frameset of color and depth
frames = pipeline.wait_for_frames()
ir1_frame = frames.get_infrared_frame(1) # Left IR Camera, it allows 1, 2 or no input
image = np.asanyarray(ir1_frame)
cv2.namedWindow('IR Example', cv2.WINDOW_AUTOSIZE)
cv2.imshow('IR Example', image)
key = cv2.waitKey(1)
# Press esc or 'q' to close the image window
if key & 0xFF == ord('q') or key == 27:
cv2.destroyAllWindows()
break
finally:
pipeline.stop()
一切正常,直到下线:
cv2.imshow('IR Example', image)
我收到错误:
TypeError: mat data type = 17 is not supported
我找到了这个 link:
TypeError: src data type = 17 is not supported
但我仍然不知道如何显示我的图像。
有没有人有一些想法?请分享,我是opencv的新手。
image.shape = ()
image.dtype = dtype('O')
干杯
您需要调用 get_data()
从帧中获取图像。
image = np.asanyarray(ir1_frame.get_data())
我目前正在使用 d435,我想显示 IR 图像(左侧和右侧,但目前只关注一个),遵循我的代码:
import pyrealsense2 as rs
import numpy as np
import cv2
# We want the points object to be persistent so we can display the
#last cloud when a frame drops
points = rs.points()
# Create a pipeline
pipeline = rs.pipeline()
#Create a config and configure the pipeline to stream
config = rs.config()
config.enable_stream(rs.stream.infrared, 1, 1280, 720, rs.format.y8, 30)
# Start streaming
profile = pipeline.start(config)
# Streaming loop
try:
while True:
# Get frameset of color and depth
frames = pipeline.wait_for_frames()
ir1_frame = frames.get_infrared_frame(1) # Left IR Camera, it allows 1, 2 or no input
image = np.asanyarray(ir1_frame)
cv2.namedWindow('IR Example', cv2.WINDOW_AUTOSIZE)
cv2.imshow('IR Example', image)
key = cv2.waitKey(1)
# Press esc or 'q' to close the image window
if key & 0xFF == ord('q') or key == 27:
cv2.destroyAllWindows()
break
finally:
pipeline.stop()
一切正常,直到下线:
cv2.imshow('IR Example', image)
我收到错误:
TypeError: mat data type = 17 is not supported
我找到了这个 link: TypeError: src data type = 17 is not supported
但我仍然不知道如何显示我的图像。 有没有人有一些想法?请分享,我是opencv的新手。
image.shape = ()
image.dtype = dtype('O')
干杯
您需要调用 get_data()
从帧中获取图像。
image = np.asanyarray(ir1_frame.get_data())