功能说明:输入单通道深度图像,输出三通道法向图像
结果展示:

Python版代码实现:

import cv2
import numpy as np
import mxnet as mx
def depth2normal(depth):w,h=depth.shapedx=-(depth[2:h,1:h-1]-depth[0:h-2,1:h-1])*0.5dy=-(depth[1:h-1,2:h]-depth[1:h-1,0:h-2])*0.5dz=mx.nd.ones((w-2,h-2))dl = mx.nd.sqrt(mx.nd.elemwise_mul(dx, dx) + mx.nd.elemwise_mul(dy, dy) + mx.nd.elemwise_mul(dz, dz))dx = mx.nd.elemwise_div(dx, dl) * 0.5 + 0.5dy = mx.nd.elemwise_div(dy, dl) * 0.5 + 0.5dz = mx.nd.elemwise_div(dz, dl) * 0.5 + 0.5return np.concatenate([dy.asnumpy()[np.newaxis,:,:],dx.asnumpy()[np.newaxis,:,:],dz.asnumpy()[np.newaxis,:,:]],axis=0)
if __name__ == '__main__':depth=cv2.imread("depth.png",0)normal=np.array(depth2normal(mx.nd.array(depth))*255)normal = cv2.cvtColor(np.transpose(normal, [1, 2, 0]), cv2.COLOR_BGR2RGB)         cv2.imwrite("normal.png",normal.astype(np.uint8))

【3DFR Python】convertDepth2Normal:从深度图计算法向图相关推荐

  1. 【python】通过深度图生成雾图(HAZERD)

    ​​​​​​​目录 完整代码matlab: python版本: 使用时记得下载相关数据集: 效果: 官方: 下一步: 完整代码matlab: 参见:https://blog.csdn.net/Crys ...

  2. python opencv cv.applyColorMap()函数(颜色映射)ColormapTypes【将Intel Realsense D435深度图的黑白图映射为彩色图】

    文章目录 API ColormapTypes 完整应用代码[将深度图的黑白图映射为彩色图] map原理 能否map CV_24UC3的? API def applyColorMap(src, colo ...

  3. 乐视三合一体感摄像头Astra pro开发记录1(深度图、彩色图及点云简单显示)

    在某鱼上淘的乐视三合一体感摄像头,捡漏价九十几块,买来玩玩. 网上已经有一些关于此款摄像头的开发资料. 官方的开发资料:官网链接 按官方网站以及其他帖子,下载并安装相机的驱动和SDK,不难配置好相机. ...

  4. 用python画时序图源代码_使用python实现画AR模型时序图

    背景: 用python画AR模型的时序图. 结果: 代码: import numpy as np import matplotlib.pyplot as plt """ ...

  5. Python使用matplotlib可视化发散棒棒糖图、发散棒棒糖图可以同时处理负值和正值、并按照大小排序区分数据、为发散棒棒糖图的特定数据点添加标签、自定义背景填充色、自定义数据点颜色

    Python使用matplotlib可视化发散棒棒糖图.发散棒棒糖图可以同时处理负值和正值.并按照大小排序区分数据.为发散棒棒糖图的特定数据点添加标签.自定义背景填充色.自定义数据点颜色(Diverg ...

  6. python使用matplotlib可视化3D线框图、线框图可以将数据投影到指定的三维表面上,并输出可视化程度较高的三维效果图

    python使用matplotlib可视化3D线框图.线框图可以将数据投影到指定的三维表面上,并输出可视化程度较高的三维效果图 目录

  7. python使用matplotlib可视化3D曲面图、曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系

    python使用matplotlib可视化3D曲面图.曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系 目录

  8. python使用matplotlib可视化:折线图、条形图、柱状图、直方图、饼图、雷达图(极坐标图)

    python使用matplotlib可视化:折线图.条形图.柱状图.直方图.饼图.雷达图(极坐标图) 目录

  9. Python使用matplotlib可视化人口金字塔图、人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法、人口金字塔图可以用来表示按体积排序的群体的分布、形成漏斗结构

    Python使用matplotlib可视化人口金字塔图.人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法.人口金字塔图可以用来表示按体积排序的群体的分布.形成漏斗结构(Popu ...

最新文章

  1. suse11sp4配置vnc显示gnome
  2. 单例设计模式详解。。。。。。。。。。。
  3. python列表去重效率_python面试题 - osc_yztbpii7的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 学习python自动化运维笔记文件比较
  5. Html内容超出标记宽度后自动隐藏
  6. 最近python为什么这么火-现在为什么 Python 这么火?
  7. linux与windows互传文件、用户与用户组管理、密码配置文件
  8. 8-2:C++继承之父类和子类对象赋值转换(公有继承)也即切片
  9. tomcat启动Configuration Error: deployment source ‘xxx:war exploded‘ is not valid
  10. NodeMCU(ESP8266) WIFI配网及保存WiFi密码信息
  11. r软件官方下载 linux,r语言下载安装
  12. websockets 断开问题解决方案
  13. bzoj5369 [Pkusc2018]最大前缀和
  14. React构建的景点门票系统
  15. 数独游戏代码C++解法
  16. 4维俄罗斯方块 java_烧脑的方块:解析“俄罗斯方块”4种不同的基础模块
  17. 空中交通通信控制设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. 使用 css 创建 3D 效果的 书籍
  19. 写贺卡给毕业师姐怎么写计算机系的,师哥送下一届毕业的寄语
  20. 第一行代码-第二版(郭霖著)笔记三(UI控件)

热门文章

  1. 【已解决】树莓派4B+ wifi无法连接(提示认证失败)
  2. 什么是5G NR-U?5G将首先替代企业级Wi-Fi?
  3. LVGL笔记(1)-使用《avilib》库播放avi视频(lvgl在windows模拟运行)
  4. 什么是SDK,它是怎样威胁我们的隐私?
  5. 循环(环形)缓冲区之Boost::circular_buffer
  6. 利用ELK技术栈收集nginx日志
  7. Aquarius's Trial F - 6 HDU - 2102 A计划
  8. 浅谈软件定制开发与软件外包的区别
  9. [KMP]P3426
  10. 配置Web.config文件显示错误信息