编程语言:Python
我已经使用点云完成了裁剪的深度帧,但是我无法将裁剪的图像转换回深度帧对象。
因为我的要求是首先使用xmin, ymin, xmax, ymax来裁剪深度帧,然后在pyrealsense2中应用一些预定义的过滤器.
描述有点不清楚,但是,我假设你想通过使用xmin, ymin, xmax, ymax来裁剪你的深度帧。
要做到这一点,你需要读取深度帧作为numpy数组。
import cv2
import numpy as np
# reading the depth
depth_img = np.array(cv2.imread('depth.png', cv2.IMREAD_ANYDEPTH))
height, width = depth_img.shape
depth = depth_img.astype(np.float32) * 0.001
depth.reshape(1, 1, height,width)
现在设置您选择的值xmin,ymin,xmax,ymax。
xmin=100
xmax=149
ymin=122
ymax=196
裁剪深度帧
cropped_depth = depth[xmin:xmax,ymin:ymax]
cv2.imshow("cropped depth",cropped_depth)
cv2.imwrite("cropped_depth.png",cropped_depth)
你的框架将被裁剪并保存在目录中。