今天实验跑完后生成了深度图,但是深度图很难看清,所以需要伪彩色增强,搞了半天最后是搞出来了。首先得到深度图后要看位深度是16还是8。一般灰度图位深度是8,但是有一些是16。在转换的时候有可能会出现错误,在做伪色彩增强的时候如果将16位转成8位图像,再用转换来的八位图像做增强的话会出现错误,转换出来的效果就是红色图所示。

而在代码中16位变成8位再增强的话就会得到正确结果,如蓝色图所示。最后分别附上8位图像和16位图像转换的代码

8位图像增强:

import cv2
import os.path
import glob
import numpy as np
from PIL import Imagedef convertPNG(pngfile, outdir):# 读取灰度图im_depth = cv2.imread(pngfile)# 转换成伪彩色(之前必须是8位图片)# 这里有个alpha值,深度图转换伪彩色图的scale可以通过alpha的数值调整,我设置为1,感觉对比度大一些im_color = cv2.applyColorMap(cv2.convertScaleAbs(im_depth, alpha=1), cv2.COLORMAP_JET)# 转成pngim = Image.fromarray(im_color)# 保存图片im.save(os.path.join(outdir, os.path.basename(pngfile)))for pngfile in glob.glob("F:/GASDA-master/results/original_02/*.png"):convertPNG(pngfile, "F:/GASDA-master/results/original_02_result")

16位图像增强:

import cv2
import os.path
import glob
import numpy as np
from PIL import ImagePNG_FILE = 'F:/GASDA-master/results/original_02/*.png'
TARGET_FILE = 'F:/GASDA-master/results/original_02_result'
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. 视差图转为深度图_纽劢研习社 | 深度图的非深度讲解

    本期话题:深度图 内容要点 1. 深度图基础知识 2. 不同的技术路径 传统方法 早期深度学习方法 当前深度学习方法 结合时序信息的深度学习方法 3. 深度估计的主要模块 对很多人来说,自动驾驶早已不 ...

  2. 视差图转为深度图_Parallax Mapping视差映射:模拟冰块

    继续练习一个模拟冰块的效果,模拟的是一个不透明内部有杂质的冰块,内部杂质用视差映射来实现,表面就是简单的法线贴图+Cubemap反射采样,也可以直接只计算高光不反射图案.文章会把视差映射讲一下,算是对 ...

  3. 立体图像——NCC匹配方法计算视差图

    文章目录 一.什么是立体图像 二.以窗口代价计算视差的原理 三.归一化互相关(NCC)算法匹配原理 四.实验 1.实验要求 2.实验代码 3.实验结果 五.实验小结 一.什么是立体图像 一个多视图成像 ...

  4. 视差图转换为深度图公司_视差刻录:使用SVG将照片从2D转换为3D

    视差图转换为深度图公司 Last week we talked about ZorroSVG, a tool for converting your chunky transparent PNG-32 ...

  5. 双目立体视觉建立深度图_计算机视觉实验五 双目立体匹配获得视差图,深度图...

    完整源码链接 https://github.com/LamyaLi/cvLab 文章目录 一. 立体匹配的研究背景及意义 二. 立体匹配算法的基本实现思想 1.误差能量函数 2.基于最小平均误差能量的 ...

  6. 2019-9-29 opencv摄像机标定与三维重构4-Depth Map from Stereo Images立体图像中的深度图(视差图)

    官网参见https://docs.opencv.org/3.4.1/dd/d53/tutorial_py_depthmap.html 上一节中,我们学习了极线约束的概念和相关术语.主要包含:如果我们有 ...

  7. iconfont 图标转为字体_阿里巴巴Iconfont矢量图转为字体图标的方法

    我们在做网站时,网站里会有很多的小图标,通常这些小图标会使用小图片来制作,但修改起来比较麻烦.所以现在很多网站都使用字体图片来制作小图标. 今天学做网站论坛介绍一下阿里巴巴Iconfont矢量图转为字 ...

  8. 立体匹配入门指南(8):视差图、深度图、点云

    本篇是比较简单的基础概念,刚入门的朋友可能是需要的. 视差图 三维点云 首先,我们要介绍下这三个概念. 视差(disparity) 视差 ddd 等于同名点对在左视图的列坐标减去在右视图上的列坐标,是 ...

  9. 视差图(Disparity)三维重投影得到特征点的三维空间坐标的2种方法

    文章目录 前提 方法1-perspectiveTransform() 方法2-reprojectimageto3d() PS 参考 前提 1.使用BM或者SGBM算法计算得到了双目图像的合适左右视差图 ...

  10. openMVS深度图计算:DenseReconstruction Estimate之EVTEstimateDepthMap之视差图初始化

    视差图初始化 1 对图像下采样 2 TriangulatePoints2DepthMap(对稀疏点三角化.栅格化.对depthMap进行插值) 3 三角网格栅格化 本文讲的是TSGM的视差图初始化,采 ...

最新文章

  1. Nginx 五大常见应用场景,Linux运维请收藏~
  2. 终止代码driver_irql_not_less_or_equal
  3. PAT甲级题目翻译+答案 AcWing(动态规划)
  4. volumio怎么连接屏幕_电视机维修电话|电视开起一闪一闪的,是怎么回事?
  5. Mssql 跨域查询
  6. oracle 作业已存在,ORA-31634: 作业已存在
  7. RealView MDK在链接时提示空间不够的解决方案总结
  8. Java好学吗?Java能做什么?如何快速入门Java?
  9. PySpark : Structured Streaming
  10. 02129 信息资源建设《信息资源管理(第2版) 电子工业出版社 肖明著》考点整理
  11. 12款黑科技神器,务必低调使用
  12. 全国网上统考计算机试题及答案,2017 年研究生全国统考计算机试题操作系统题目及答案...
  13. SOP 封装 和 SOIC 封装的区别——细微差别,可以混用
  14. 单片机实验(十一)单片机独立按键控制LED
  15. 网页兼容性调好了么?
  16. ssh mysql 导出excel_使用ssh远程执行命令批量导出数据库到本地(转)
  17. 企业IT运维开发一体化解决方案
  18. python+opencv-03 高斯模糊
  19. Katalon自动化测试
  20. nginx redmine_Ubuntu / Redmine / Nginx / Mongrel / Supervisord

热门文章

  1. Java常用英文单词
  2. 计算机组成原理MIPS
  3. Spring Cloud Netflix框架最基础的五大组件介绍
  4. selenium爬虫模拟登录PayPal
  5. MongoDB 数据库基本操作
  6. 风变编程python小课课件_待风变编程的 Python 网课是什么? Python 网课怎么
  7. Scala教程-详细全部
  8. 其实,我只是一个工程师
  9. elasticsearch 学习之 搭建简单的elasticsearch多节点服务器
  10. 新版火狐浏览器安装Flash组件,解决部分网站视频无法观看问题