【3DFR Python】convertDepth2Normal:从深度图计算法向图
功能说明:输入单通道深度图像,输出三通道法向图像
结果展示:
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:从深度图计算法向图相关推荐
- 【python】通过深度图生成雾图(HAZERD)
目录 完整代码matlab: python版本: 使用时记得下载相关数据集: 效果: 官方: 下一步: 完整代码matlab: 参见:https://blog.csdn.net/Crys ...
- python opencv cv.applyColorMap()函数(颜色映射)ColormapTypes【将Intel Realsense D435深度图的黑白图映射为彩色图】
文章目录 API ColormapTypes 完整应用代码[将深度图的黑白图映射为彩色图] map原理 能否map CV_24UC3的? API def applyColorMap(src, colo ...
- 乐视三合一体感摄像头Astra pro开发记录1(深度图、彩色图及点云简单显示)
在某鱼上淘的乐视三合一体感摄像头,捡漏价九十几块,买来玩玩. 网上已经有一些关于此款摄像头的开发资料. 官方的开发资料:官网链接 按官方网站以及其他帖子,下载并安装相机的驱动和SDK,不难配置好相机. ...
- 用python画时序图源代码_使用python实现画AR模型时序图
背景: 用python画AR模型的时序图. 结果: 代码: import numpy as np import matplotlib.pyplot as plt """ ...
- Python使用matplotlib可视化发散棒棒糖图、发散棒棒糖图可以同时处理负值和正值、并按照大小排序区分数据、为发散棒棒糖图的特定数据点添加标签、自定义背景填充色、自定义数据点颜色
Python使用matplotlib可视化发散棒棒糖图.发散棒棒糖图可以同时处理负值和正值.并按照大小排序区分数据.为发散棒棒糖图的特定数据点添加标签.自定义背景填充色.自定义数据点颜色(Diverg ...
- python使用matplotlib可视化3D线框图、线框图可以将数据投影到指定的三维表面上,并输出可视化程度较高的三维效果图
python使用matplotlib可视化3D线框图.线框图可以将数据投影到指定的三维表面上,并输出可视化程度较高的三维效果图 目录
- python使用matplotlib可视化3D曲面图、曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系
python使用matplotlib可视化3D曲面图.曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系 目录
- python使用matplotlib可视化:折线图、条形图、柱状图、直方图、饼图、雷达图(极坐标图)
python使用matplotlib可视化:折线图.条形图.柱状图.直方图.饼图.雷达图(极坐标图) 目录
- Python使用matplotlib可视化人口金字塔图、人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法、人口金字塔图可以用来表示按体积排序的群体的分布、形成漏斗结构
Python使用matplotlib可视化人口金字塔图.人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法.人口金字塔图可以用来表示按体积排序的群体的分布.形成漏斗结构(Popu ...
最新文章
- suse11sp4配置vnc显示gnome
- 单例设计模式详解。。。。。。。。。。。
- python列表去重效率_python面试题 - osc_yztbpii7的个人空间 - OSCHINA - 中文开源技术交流社区...
- 学习python自动化运维笔记文件比较
- Html内容超出标记宽度后自动隐藏
- 最近python为什么这么火-现在为什么 Python 这么火?
- linux与windows互传文件、用户与用户组管理、密码配置文件
- 8-2:C++继承之父类和子类对象赋值转换(公有继承)也即切片
- tomcat启动Configuration Error: deployment source ‘xxx:war exploded‘ is not valid
- NodeMCU(ESP8266) WIFI配网及保存WiFi密码信息
- r软件官方下载 linux,r语言下载安装
- websockets 断开问题解决方案
- bzoj5369 [Pkusc2018]最大前缀和
- React构建的景点门票系统
- 数独游戏代码C++解法
- 4维俄罗斯方块 java_烧脑的方块:解析“俄罗斯方块”4种不同的基础模块
- 空中交通通信控制设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 使用 css 创建 3D 效果的 书籍
- 写贺卡给毕业师姐怎么写计算机系的,师哥送下一届毕业的寄语
- 第一行代码-第二版(郭霖著)笔记三(UI控件)
热门文章
- 【已解决】树莓派4B+ wifi无法连接(提示认证失败)
- 什么是5G NR-U?5G将首先替代企业级Wi-Fi?
- LVGL笔记(1)-使用《avilib》库播放avi视频(lvgl在windows模拟运行)
- 什么是SDK,它是怎样威胁我们的隐私?
- 循环(环形)缓冲区之Boost::circular_buffer
- 利用ELK技术栈收集nginx日志
- Aquarius's Trial F - 6 HDU - 2102 A计划
- 浅谈软件定制开发与软件外包的区别
- [KMP]P3426
- 配置Web.config文件显示错误信息