当前位置: 首页 > news >正文

Blender模拟结构光3D Scanner(二)投影仪内参数匹配

关于投影仪外参的设置可参见前一篇文章

Blender模拟结构光3D Scanner(一)外参数匹配-CSDN博客

使用Projectors插件模拟投影仪

        Step 1   在Github下载插件(https://github.com/Ocupe/Projectors)。下载zip压缩包即可,无需解压。

在Edit->Preferences->Interface中修改系统语言为English,安装时语言为中文会存在问题。

在Edit->Preferences->Add-ons中导入Projectors压缩包,安装插件。

        安装成功后在3D视图右侧边栏出现Projector页签。若不显示的话可以点击右侧边栏小箭头或者按N键,调出菜单。

        Step 2  将渲染引擎改成Cycles GPU。

        Step 3 点击右侧边栏Projector页签,新建Projector。右侧Scene Collection窗口中出现Projector,包含相机节点和投影仪聚光灯节点。

        Step 4 选择投影模式为Custom Texture,默认是将投影机的分辨率调整为与相机相同的分辨率(即下方的CheckBox,Let Image Define Projector Resolution)。

        点击projector旁的三角按钮,会发现其同时创建了相机与投影仪,这里最好把参数也给改成图像的分辨率(虽然说他默认改了,但这里没显示,以防万一)

点Open,导入纹理图像。

         

        Step 5 设置投影仪内参

(1) 投射比(Throw Ratio)

投射比=投影距离(焦距值,像素单位)投射图片的宽度(像素单位)

投影距离可用投影仪内参数f_xf_y的平均值f_\textnormal{P}(单位:像素),投射图片的宽度即投影仪在x方向的分辨率W_\textnormal{P}

\textnormal{Thresh Ratio} = \frac{f_\textnormal{P}}{W_\textnormal{P}}

(2) 主点位移Shift计算:

\textnormal{Horizontal Shift} = \frac{\frac{W_\textnormal{P}}{2}-c_x}{W_\textnormal{P}}\times 100\%

\textnormal{Vertical Shift} = \frac{\frac{H_\textnormal{P}}{2}-c_y}{H_\textnormal{P}}\times 100\%

其中,W_\textnormal{P}H_\textnormal{P}为投影仪分辨率的宽和高。

http://www.dtcms.com/a/335633.html

相关文章:

  • 积鼎科技CFD VirtualFlow:引领国产多相流仿真技术,赋能工业智造
  • (一)React企业级后台(Axios/localstorage封装/动态侧边栏)
  • 【React 性能】性能优化第一课:搞懂 `React.memo`, `useCallback`, `useMemo`
  • 重学React(六):脱围机制二
  • Spark03-RDD02-常用的Action算子
  • WebSocket DevTools 开发调试工具完全指南 – 实时监控、消息拦截、性能分析一站式解决方案
  • 【Java后端】Spring Boot 集成 MyBatis 全攻略
  • 遥感数字图像处理教程——第二章部分课后习题
  • Java零基础笔记20(Java高级技术:单元测试、反射、注解、动态代理)
  • Oracle Undo Tablespace 使用率暴涨案例分析
  • 前端vue3+后端spring boot导出数据
  • 《香农之息》(终章·镜渊)
  • 从零到一:打包并发布你的第一个MCP AI工具服务
  • Qt | 四种方式实现多线程导出数据功能
  • RAG学习(二)
  • 零墨云A4mini打印机设置电脑通过局域网络进行打印
  • scikit-learn/sklearn学习|多任务套索回归MultiTaskLasso解读
  • 如何利用gemini-cli快速了解一个项目以及学习新的组件?
  • 业务员手机报价软件免费领取——仙盟创梦IDE
  • Kotlin集合概述
  • 【LeetCode】13. 罗马数字转整数
  • 不止于“渲染图”:从Adobe Stager到Three.js的交互式Web3D工作流
  • 安卓开发者自学鸿蒙开发4自定义组件
  • C#中List、Path、字符串操作等常用方法总结
  • fdisk的格式化分区和挂载(linux)
  • Collections.synchronizedList是如何将List变为线程安全的
  • 解决 OpenWrt 编译时报 toolchain/* failed to build 的错误
  • RK3588开发板Ubuntu系统烧录
  • Matlab课程实践——基于MATLAB设计的计算器软件(简单、科学、电工、矩阵及贷款计算)
  • Leetcode 15 java