python 将16位 png 深度图转化为伪彩色图
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 深度图转化为伪彩色图相关推荐
- Python——二进制16位加法器(采用手算二进制加法的过程实现)(tkinter实现)【2021-07-08】
Python--二进制16位加法器(采用手算二进制加法的过程实现)(tkinter实现) 1.add16bit.py 2.结果示例 3.下篇文章预告 [功能模块作者] CSDN用户(TDTX),TDT ...
- python 生成16位integer
1. np.random.randint(low, high=None, size=None, dtype=None)其中 dtype=np.uint16代表16位的integer,可参考librar ...
- 将16位的深度图转换为8位深度图
原理 一张16位的图像,意思是一张图像的每个像素点的像素值都由16位的二进制数表示,每个像素点的颜色有 2^16 = 65536 种可能. 也就是说,图像的颜色区间被划分成了2^16 = 65536份 ...
- 16位深度图(depth map)伪彩色化(pseudo colorize)的代码
本文记录将 16 位的 深度图伪彩色化的代码. 注意,DepthMapPseudoColorize 函数第一个参数可以是 图像的 data,也可以是 path. 在函数内部都可以. 在第二篇参考文献中 ...
- python opencv 深度图批量生成彩色图
import cv2 import os.path import glob import numpy as np from PIL import Imagedef Depth2Color(depth_ ...
- python将图像转换为8位单通道_Python OpenCV读取16位单通道图像并转换为8位灰度图显示...
语义.实例分割数据集的标注图像以及一些深度图像等都是由单通道16位整型图像存储的,我们通常需要读取这种图像并显示出来,由于OpenCV一般只能够对8位图像进行显示,也就是像素范围在0-255的图像,而 ...
- 使用Python,OpenCV进行卡类型及16位卡号数字的OCR
使用Python,OpenCV进行卡类型及16位卡号数字的OCR 1. 效果图 2. 原理 2.1 OCR-A字体 2.2 检测过程步骤 2.3 优化 3. 源代码 参考 这篇博客将介绍如何通过Ope ...
- python生成时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例
我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...
- python日期格式转换成13位时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例...
我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...
最新文章
- 句号一定要划在句子最美的地方
- lambda--整理的部分网络博文
- http Error 503 server unavailable
- 3.2.2 OS之请求分页管理方式(请求页表、缺页中断机构、地址变换机构)
- 浏览器的referer是服务器修改的吗,利用浏览器调整http的referer
- android系统电视缺点,高清智能电视安卓系统优势与不足解析
- SQL常用的几个窗口函数
- python pdfminer解析pdf文件的每一行,得到每一行的坐标与每个字符的坐标
- oracle中的数据读取与查找
- 输入法半角和全角的快捷转换_华宇拼音输入法 一款完全免费的国产输入法_第1页...
- Solve error: Cannot open include file: 'X11/Xlocale.h': No such file or directory
- 电商智能写作:京东AI闪电智能写作引擎
- matlab打包多个m文件,MATLAB GUI多个m文件和fig如何生成exe文件
- com.google.zxing 二维码生成与解析
- 学MySQL,这篇万字总结,真的够用了
- 【4月电视剧网络关注度榜】《小舍得》登顶4月电视剧热度榜
- 批量标注数量大的地图注记
- 开源 | 写了个微博去广告、屏蔽拉黑插件
- 九个最佳ICON图标搜索引擎
- php注册登录课件,登录注册验证(javascript)-php教学课件5.pdf
热门文章
- 工业机器人维保调查表_工业机器人维护保养汇总,从此不求人!
- 新手做网站只需要4个步骤
- 论文阅读-SEFRON: A New Spiking Neuron Model With Time-Varying Synaptic Efficacy Function
- 高斯分布Gaussian distribution、线性回归、逻辑回归logistics regression
- 团 队 作 业 ———— 随 堂 小 测
- LSM树——Log-Structured Merge-Tree数据结构、LSM树设计思想、LSM的数据写入操作、LSM的数据查询操作
- 皮尔森(pearson)相关系数代码实现
- 【sqoop2】创建job报错There are issues with entered data, please revise your input
- 6分钟告诉你为什么要学物联网+嵌入式
- 淘宝u站是什么?淘宝u站是干啥的?