深度圖轉偽彩色圖(python)


kinect得到的深度圖灰不拉幾,人眼很難識別出其中的物體,感知深度的變化。

在做展示的時候,我們往往需要可視化,使用OpenCV的預定義的顏色映射來將灰度圖像偽彩色化,在OpenCV中使用applycolormap(偽彩色函數)。

 

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的數值調整。

得到的結果如下

轉換之前:

轉換之后

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM