深度图转伪彩色图(python)

时间:2022-01-23 09:37:08

kinect得到的深度图灰不拉几,人眼很难识别出其中的物体,感知深度的变化。

在做展示的时候,我们往往需要可视化,使用OpenCV的预定义的颜色映射来将灰度图像伪彩色化,在OpenCV中使用applycolormap(伪彩色函数)。

深度图转伪彩色图(python)

import cv2
import os.path
import glob
import numpy as np
from PIL import Image def convertPNG(pngfile,outdir):
# READ THE DEPTH
im_depth = cv2.imread(pngfile)
#apply colormap on deoth image(image must be converted to 8-bit per pixel first)
im_color=cv2.applyColorMap(cv2.convertScaleAbs(im_depth,alpha=15),cv2.COLORMAP_JET)
#convert to mat png
im=Image.fromarray(im_color)
#save image
im.save(os.path.join(outdir,os.path.basename(pngfile))) for pngfile in glob.glob("PNG FILE"):#C:/Users/BAMBOO/Desktop/source pics/rgbd_6/depth/*.png
convertPNG(pngfile,"TARGET FILE")#C:/Users/BAMBOO/Desktop/source pics/rgbd_6/color

代码里写得挺清楚了,深度图转换伪彩色图的scale可以通过alpha的数值调整。

得到的结果如下

转换之前:

深度图转伪彩色图(python)

转换之后

深度图转伪彩色图(python)