python 将16位 png 深度图转化为伪彩色图:

全部代码如下:

import cv2
import os.path
import glob
import numpy as np
from PIL import ImagePNG_FILE = 'F:\\shendu_buquan_jieguo\\1\\kitti\\*.png'
TARGET_FILE = 'F:\\shendu_buquan_jieguo_color\\1\\kitti'
def convertPNG(pngfile,outdir):#读取16位深度图(像素范围0~65535),并将其转化为8位(像素范围0~255)uint16_img = cv2.imread(pngfile, -1)    #在cv2.imread参数中加入-1,表示不改变读取图像的类型直接读取,否则默认的读取类型为8位。uint16_img -= uint16_img.min()uint16_img = uint16_img / (uint16_img.max() - uint16_img.min())uint16_img *= 255#使得越近的地方深度值越大,越远的地方深度值越小,以达到伪彩色图近蓝远红的目的。uint16_img = 255 - uint16_img# cv2 中的色度图有十几种,其中最常用的是 cv2.COLORMAP_JET,蓝色表示较高的深度值,红色表示较低的深度值。# cv.convertScaleAbs() 函数中的 alpha 的大小与深度图中的有效距离有关,如果像我一样默认深度图中的所有深度值都在有效距离内,并已经手动将16位深度转化为了8位深度,则 alpha 可以设为1。im_color=cv2.applyColorMap(cv2.convertScaleAbs(uint16_img,alpha=1),cv2.COLORMAP_JET)#convert to mat pngim=Image.fromarray(im_color)#save imageim.save(os.path.join(outdir,os.path.basename(pngfile)))print(os.path.basename(pngfile))for pngfile in glob.glob(PNG_FILE):#C:/Users/BAMBOO/Desktop/source pics/rgbd_6/depth/*.pngconvertPNG(pngfile, TARGET_FILE)#C:/Users/BAMBOO/Desktop/source pics/rgbd_6/color

参考教程:

1、深度图转伪彩色图(python)
2、Python OpenCV读取16位单通道图像并转换为8位灰度图
3、python opencv 4.1.0 cv2.convertScaleAbs()函数
4、cv2.convertScaleAbs(depth_image,alpha=0.03)

python 将16位 png 深度图转化为伪彩色图相关推荐

  1. Python——二进制16位加法器(采用手算二进制加法的过程实现)(tkinter实现)【2021-07-08】

    Python--二进制16位加法器(采用手算二进制加法的过程实现)(tkinter实现) 1.add16bit.py 2.结果示例 3.下篇文章预告 [功能模块作者] CSDN用户(TDTX),TDT ...

  2. python 生成16位integer

    1. np.random.randint(low, high=None, size=None, dtype=None)其中 dtype=np.uint16代表16位的integer,可参考librar ...

  3. 将16位的深度图转换为8位深度图

    原理 一张16位的图像,意思是一张图像的每个像素点的像素值都由16位的二进制数表示,每个像素点的颜色有 2^16 = 65536 种可能. 也就是说,图像的颜色区间被划分成了2^16 = 65536份 ...

  4. 16位深度图(depth map)伪彩色化(pseudo colorize)的代码

    本文记录将 16 位的 深度图伪彩色化的代码. 注意,DepthMapPseudoColorize 函数第一个参数可以是 图像的 data,也可以是 path. 在函数内部都可以. 在第二篇参考文献中 ...

  5. python opencv 深度图批量生成彩色图

    import cv2 import os.path import glob import numpy as np from PIL import Imagedef Depth2Color(depth_ ...

  6. python将图像转换为8位单通道_Python OpenCV读取16位单通道图像并转换为8位灰度图显示...

    语义.实例分割数据集的标注图像以及一些深度图像等都是由单通道16位整型图像存储的,我们通常需要读取这种图像并显示出来,由于OpenCV一般只能够对8位图像进行显示,也就是像素范围在0-255的图像,而 ...

  7. 使用Python,OpenCV进行卡类型及16位卡号数字的OCR

    使用Python,OpenCV进行卡类型及16位卡号数字的OCR 1. 效果图 2. 原理 2.1 OCR-A字体 2.2 检测过程步骤 2.3 优化 3. 源代码 参考 这篇博客将介绍如何通过Ope ...

  8. python生成时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例

    我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...

  9. python日期格式转换成13位时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例...

    我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...

最新文章

  1. 句号一定要划在句子最美的地方
  2. lambda--整理的部分网络博文
  3. http Error 503 server unavailable
  4. 3.2.2 OS之请求分页管理方式(请求页表、缺页中断机构、地址变换机构)
  5. 浏览器的referer是服务器修改的吗,利用浏览器调整http的referer
  6. android系统电视缺点,高清智能电视安卓系统优势与不足解析
  7. SQL常用的几个窗口函数
  8. python pdfminer解析pdf文件的每一行,得到每一行的坐标与每个字符的坐标
  9. oracle中的数据读取与查找
  10. 输入法半角和全角的快捷转换_华宇拼音输入法 一款完全免费的国产输入法_第1页...
  11. Solve error: Cannot open include file: 'X11/Xlocale.h': No such file or directory
  12. 电商智能写作:京东AI闪电智能写作引擎
  13. matlab打包多个m文件,MATLAB GUI多个m文件和fig如何生成exe文件
  14. com.google.zxing 二维码生成与解析
  15. 学MySQL,这篇万字总结,真的够用了
  16. 【4月电视剧网络关注度榜】《小舍得》登顶4月电视剧热度榜
  17. 批量标注数量大的地图注记
  18. 开源 | 写了个微博去广告、屏蔽拉黑插件
  19. 九个最佳ICON图标搜索引擎
  20. php注册登录课件,登录注册验证(javascript)-php教学课件5.pdf

热门文章

  1. 工业机器人维保调查表_工业机器人维护保养汇总,从此不求人!
  2. 新手做网站只需要4个步骤
  3. 论文阅读-SEFRON: A New Spiking Neuron Model With Time-Varying Synaptic Efficacy Function
  4. 高斯分布Gaussian distribution、线性回归、逻辑回归logistics regression
  5. 团 队 作 业 ———— 随 堂 小 测
  6. LSM树——Log-Structured Merge-Tree数据结构、LSM树设计思想、LSM的数据写入操作、LSM的数据查询操作
  7. 皮尔森(pearson)相关系数代码实现
  8. 【sqoop2】创建job报错There are issues with entered data, please revise your input
  9. 6分钟告诉你为什么要学物联网+嵌入式
  10. 淘宝u站是什么?淘宝u站是干啥的?