光度立体法的简化求解(已知特殊光源方向)

2024-03-19 09:28

本文主要是介绍光度立体法的简化求解(已知特殊光源方向),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 原理这个博主写的很好

如何获取物体表面的法向量?好好谈谈光度立体法-CSDN博客

Photometric Stereo 光度立体三维重建(一)——介绍-CSDN博客

不过当图片较大的时候,比如4048*4000这种量级的,矩阵很大,速度要10秒,加了openmp也需要2s;

如果我们知道一些先验知识,在特定的slant和titls角度,可以简化过程,提升速度(结果在最后)

四个光源在等高且titls分别为0,90,180,270;偏角均为slant = θ

那么每个位置(x,y)在四个特殊的角度下,代入朗博公式有

t_0 =\frac{ \rho(-n_xsin\theta +cos\theta )l }{\sqrt{n_x^{2}+n_y^{2}+1}}

t_{90} =\frac{ \rho(-n_ysin\theta +cos\theta )l }{\sqrt{n_x^{2}+n_y^{2}+1}}

t_{180} =\frac{ \rho(n_xsin\theta +cos\theta )l }{\sqrt{n_x^{2}+n_y^{2}+1}}

t_{270} =\frac{ \rho(n_ysin\theta +cos\theta )l }{\sqrt{n_x^{2}+n_y^{2}+1}}

其中,ρ反射率,l是光强

一式加三式,二式加四式有

t_{180} +t_0=\frac{ 2\rho cos\theta l }{\sqrt{n_x^{2}+n_y^{2}+1}}

t_{270} +t_{90}=\frac{ 2\rho cos\theta l }{\sqrt{n_x^{2}+n_y^{2}+1}}

那么有

\frac{ \rho l }{\sqrt{n_x^{2}+n_y^{2}+1}}=\frac{t_{180} +t_0}{2cos\theta }=\frac{t_{270} +t_{90}}{2cos\theta }

一式减三式,二式减四式有

t_{180} -t_0=\frac{ 2\rho n_xsin\theta l }{\sqrt{n_x^{2}+n_y^{2}+1}}

t_{270} -t_{90}=\frac{ 2\rho n_ysin\theta l }{\sqrt{n_x^{2}+n_y^{2}+1}}

\frac{ \rho l }{\sqrt{n_x^{2}+n_y^{2}+1}}=\frac{t_{180} +t_0}{2cos\theta }=\frac{t_{270} +t_{90}}{2cos\theta }

代入上面两个式子中

得到:

t_{270} -t_{90}=\frac{ 2\rho n_ysin\theta l }{\sqrt{n_x^{2}+n_y^{2}+1}}=\frac{ 2n_ysin\theta (t_{270}+t_{90}) }{2cos \theta }= n_ytan\theta (t_{270}+t_{90})t_{180} -t_{0}=\frac{ 2\rho n_xsin\theta l }{\sqrt{n_x^{2}+n_y^{2}+1}}=\frac{ 2n_xsin\theta (t_{180}+t_{0}) }{2cos \theta }= n_xtan\theta (t_{180}+t_{0})

处理一下,得到:

n_y=\frac{t_{270} -t_{90}}{(t_{270}+t_{90})tan\theta }

n_x=\frac{t_{180} -t_{0}}{(t_{180}+t_{0})tan\theta }

上面两式子就是求出的法向量x分量,y分量.这样可以跳过大矩阵求逆相乘的溢出,减少耗时,速度提升很多.

下面是处理4048*4000图片的速度(均加了openmp)

两种方法速度比较
不加omp加omp
传统方法10s2s
特殊方法0.7s0.2s

这篇关于光度立体法的简化求解(已知特殊光源方向)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825514

相关文章

BUUCTF(34)特殊的 BASE64

使用pycharm时,如果想把代码撤销到之前的状态可以用 Ctrl+z 如果不小心撤销多了,可以用 Ctrl+Shift+Z 还原, 别傻傻的重新敲了 BUUCTF在线评测 (buuoj.cn) 查看字符串,想到base64的变表 这里用的c++的标准程序库中的string,头文件是#include<string> 这是base64的加密函数 std::string

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

理解分类器(linear)为什么可以做语义方向的指导?(解纠缠)

Attribute Manipulation(属性编辑)、disentanglement(解纠缠)常用的两种做法:线性探针和PCA_disentanglement和alignment-CSDN博客 在解纠缠的过程中,有一种非常简单的方法来引导G向某个方向进行生成,然后我们通过向不同的方向进行行走,那么就会得到这个属性上的图像。那么你利用多个方向进行生成,便得到了各种方向的图像,每个方向对应了很多

hibernate修改数据库已有的对象【简化操作】

陈科肇 直接上代码: /*** 更新新的数据并并未修改旧的数据* @param oldEntity 数据库存在的实体* @param newEntity 更改后的实体* @throws IllegalAccessException * @throws IllegalArgumentException */public void updateNew(T oldEntity,T newEntity

特殊JSON解析

一般的与后台交互;都会涉及到接口数据的获取;而这里的数据一般情况就是JSON 了;JSON 解析起来方便;而且数据量也较小一些;所以JSON在接口数据返回中是个很不错的选择。 下面简单说下JSON解析过程中的一些案例: 这里我用到了三方的架包:fastjson-1.1.39.jar 架包 可以在我的博客中找到下载;或者网上找下 很多的; 这里主要就是映射  关系了;这就要求:实体类的名称和

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {

2024 年高教社杯全国大学生数学建模竞赛题目——2024 年高教社杯全国大学生数学建模竞赛题目的求解

2024 年高教社杯全国大学生数学建模竞赛题目 (请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”) 2024 年高教社杯全国大学生数学建模竞赛题目 随着城市化进程的加快、机动车的快速普及, 以及人们活动范围的不断扩大,城市道 路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经 济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。 考虑一个拥有知名景区

Docker 容器技术:简化 MySQL 主从复制部署与优化

Docker 容器技术:简化 MySQL 主从复制部署与优化 引言 随着大数据和云计算的快速发展,数据库的高可用性、可扩展性和易维护性成为了企业IT架构中的重要考量因素。MySQL 作为一款流行的开源数据库管理系统,其主从复制(Master-Slave Replication)功能为实现数据备份、故障恢复、读取扩展和数据分析提供了强有力的支持。然而,传统的 MySQL 主从复制部署过程复杂且容

[SWPUCTF 2021 新生赛]web方向(一到六题) 解题思路,实操解析,解题软件使用,解题方法教程

题目来源 NSSCTF | 在线CTF平台因为热爱,所以长远!NSSCTF平台秉承着开放、自由、共享的精神,欢迎每一个CTFer使用。https://www.nssctf.cn/problem   [SWPUCTF 2021 新生赛]gift_F12 这个题目简单打开后是一个网页  我们一般按F12或者是右键查看源代码。接着我们点击ctrl+f后快速查找,根据题目给的格式我们搜索c

基于SA模拟退火算法的多车辆TSP问题求解matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述        基于SA模拟退火算法的多车辆TSP问题求解matlab仿真,三个车辆分别搜索其对应的最短路径,仿真后得到路线规划图和SA收敛曲线。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 (完整程序运行后无水印)