类型错误:不支持 mat 数据类型 = 17,使用 realsense d435 显示 IR 数据

我目前正在使用 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)

我收到错误:


类型错误:不支持 mat 数据类型 = 17


我找到了这个链接: TypeError: src data type = 17 is not supported


但我仍然不知道如何显示我的图像。有没有人有一些想法?请分享,我是opencv的新手。


image.shape = ()

image.dtype = dtype('O')


泛舟湖上清波郎朗
浏览 920回答 1
1回答

绝地无双

您需要调用get_data()以从框架中获取图像。image = np.asanyarray(ir1_frame.get_data())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python