本文主要是介绍Python opencv读取深度图,网格化显示深度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
效果图:
代码:
import cv2
import osimg_path = "./outdir/180m_norm_depth.png"
depth_img = cv2.imread(img_path, cv2.IMREAD_ANYDEPTH)
filename = os.path.basename(img_path)
img_hig, img_wid = depth_img.shape # (1080, 1920)
print(depth_img.shape)point_color = (0, 0, 255) # BGR
thickness = 5
lineType = 4grid_size = 80for i in range(img_wid // grid_size): # 40 为正方向网格的宽for j in range(img_hig // grid_size):p1 = ((i + 1) * grid_size, (j + 1) * grid_size)p2 = (i * grid_size, (j + 1) * grid_size)p3 = ((i + 1) * grid_size, j * grid_size)cv2.line(depth_img, p1, p2, point_color, thickness, lineType)cv2.line(depth_img, p1, p3, point_color, thickness, lineType)depth_pos = ((i + 1) * grid_size - grid_size // 2, (j + 1) * grid_size - grid_size // 2)depth_value = depth_img[depth_pos[1], depth_pos[0]]cv2.putText(depth_img, str(depth_value), (depth_pos[0] - 20, depth_pos[1]), cv2.FONT_HERSHEY_COMPLEX, 0.8, (100, 200, 200), 1)# depth_img[i][j] = depth_img[i][j] / 1000
cv2.imwrite(os.path.join("./outdir/", filename[:filename.rfind('.')] + '_grid.png'), depth_img)
这篇关于Python opencv读取深度图,网格化显示深度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!