相机选型介绍

news2025/1/18 16:51:38

摄影测量中,相机是非常重要的角色,合适的相机产出合适的图像,得到合适的重建精度,这是相机的重要性。

您也许第一反应是,摄影测量所需的理想相机,是有着超高分辨率的相机,但事实可能并非如此,分辨率确实是相机非常重要的指标,但绝非唯一指标。

1. 分辨率

分辨率显然是相机必须关注的参数之一,更高的分辨率意味着对目标更好的细节解析能力,能恢复出更多目标表面细节,并带来更高的测量精度。

高分辨率带来的缺点:

  • 动态模糊更明显。
  • 亮度变低,需要加大进光量,比如增大光圈或快门时间,而增大光圈会让景深减小,增大快门时间会让动态模糊更明显。
  • 算法处理时间增加。
  • 成本增加。

这些问题虽不是那么致命,但能够让你不盲目的追求高分辨率,最好查阅资料对当前相机厂商的主流分辨率有个大致的了解,选择中上分辨率设备,不过分追求超高分辨率。

从经验来看,无人机图像三维重建有最常用的2000万像素级别,次常用4000万像素级别,少见的上亿像素级别。

  • 请避免使用图像处理工具后期增加分辨率,这除了增加处理时间,大部分时候都没有好处,并不会带来预期的精度提升,还有可能破坏图像参数对应关系。
  • 请注意另一种提高分辨率的方式:像素内插。例如某相机宣传高达一亿像素,你还需参考其传感器画幅是否是真的原生态的一亿像素,而不是算法内插得到的。
  • 画幅是重要指标(看后文),小画幅高分辨率,很有可能是像素内插出的,如果对重建精度要高要求,请慎选。一般来说,大画幅小分辨率 > 小画幅高分辨率。

2. 镜头

关注镜头的主要关注点在于焦距视场角,短焦距通常意味着广角镜头,有带来更大的视野范围,同时却增加了像素的GSD(ground sample distance)并有更明显的像素畸变;反之长焦距有着更窄的视野范围,但更小的像素GSD以及更小的畸变。

Image

在摄影测量学中,一般不会考虑焦距过短和超大广角,一方面加大像素GSD对精度没有好处,另一方面降低了像素畸变估计的准确性。也不会考虑超长焦和超小窄角,在上篇中我们提及到用于三维重建的图片必须满足相邻足够的重叠度(60%以上),过于窄小的视野使得为满足重叠度必须拍摄超多的图片,这带来了更大的计算负担。

在实践中,偏向于选择微广角或微长焦,用35毫米等效焦距值来初步分析一个镜头的状况是个很好的方法,如果这个值是35毫米,则通常是一个视野和焦距都很适中的镜头,如果这个值是24,则它是一个微广角镜头,如果是48,则是一个微长焦镜头,都是比较常见的。现在无人机厂商都比较青睐将相机焦距设计到24~35之间,带一些广角可以获取更大的视野,也能在满足重叠度的情况下减少采集图片的数量。

3. 传感器

提起传感器,画幅是我们最常说的一个参数,画幅,在胶片时代指的是胶片的尺寸规格,现在指的就是相机传感器的尺寸。

全画幅自然比半画幅有更高的图像质量,也就是人们常说得底大一级压死人,核心关注的是传感器尺寸,尺寸越大则进光量越大,对画面还原的情况越好,暗光拍摄也会更强,整体质量更优秀。

如图所示,全画幅相机比一英寸相机大2.7倍的面积,如果同样产出2000万像素的图片,孰优孰劣显而易见。一英寸已经是当前手机相机的天花板,而大部分入门级别数码相机大多是APS-C(也叫半画幅),全画幅相机则位于高端相机之列。

Image

画幅带来的一些优势是无形的,采集到同等亮度的图像,全画幅要比APS-C使用更低的IOS、更少的快门时间和更小的光圈,随之带来更少的噪点,更少的运动模糊以及更长的景深。

要想产出高质量的三维模型,自然是推荐你使用APS-C半画幅以上的相机,但价格成本也是不可忽视的因素,画幅往往和价格直接挂钩。如果你现在只是一个初级玩家,不必过分追求画幅,日常的手机(Iphone 15: 1/1.28)、消费无人机(DJI Mini4 : 1/1.3)都在一英寸画幅以下,而大疆专用于测绘的行业旗舰Mavic 3E则是4/3英寸的底,这些已然足够。而一些专业建模师,在选择相机时,画幅必定是会重点关心的参数。

4. 快门类型

快门类型是影响图像质量的重要因素。

  • 机械快门 Mechanical Shutter 

  • 电子快门 Electronic  Shutter ,分为卷帘快门(Rolling Shutter)和全局快门(Global Shutter)

一般来说,机械快门相比电子卷帘快门存在优势,原因就是电子卷帘快门的果冻效应,由于电子卷帘快门是逐行进行曝光,导致不同行曝光的时刻不一样,高速移动的目标会出现重复片段,也就是果冻效应,如下图所示:

Image

机械快门则相比而言果冻效应轻微很多,大部分几乎无法察觉。

电子全局快门也没有果冻效应,因为是全像素同时曝光,如下图所示:

Image

卷帘快门的一个巨大的优势是价格低廉,而且优势十分明显。

参考文献

【图文科普】选好相机,成为优秀的三维重建摄影大师的第一步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML+CSS+JS:轮播组件

效果演示 一个具有动画效果的卡片元素和一个注册表单,背景为渐变色,整体布局简洁美观。 Code <div class="card" style="--d:-1;"><div class="content"><div class="img"><img src="./img/果果k_01.jpg…

【全网首发】上周申请的谷歌Gemini 1.5 Pro已通过!百万token的Gemini 1.5 Pro开箱测试(一)

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

【接口加密】接口加密的未来发展与应用场景

目录 3.1 接口加密与区块链技术的结合 3.1.1 区块链技术的安全特性与优势 3.1.2 接口加密在区块链中的应用案例 3.2 接口加密与物联网安全 3.2.1 物联网安全的挑战与需求 3.2.2 接口加密在物联网领域的实际应用 3.3 接口加密在金融与电子商务领域的应用 随着信息技术的不…

【初始RabbitMQ】延迟队列的实现

延迟队列概念 延迟队列中的元素是希望在指定时间到了之后或之前取出和处理消息&#xff0c;并且队列内部是有序的。简单来说&#xff0c;延时队列就是用来存放需要在指定时间被处理的元素的队列 延迟队列使用场景 延迟队列经常使用的场景有以下几点&#xff1a; 订单在十分…

Spring Boot 笔记 025 主界面

1.1 路由搭建 1.1.1 安装vue router npm install vue-router4 1.1.2 在src/router/index.js中创建路由器&#xff0c;并导出 import { createRouter, createWebHistory } from vue-router//导入组件 import LoginVue from /views/Login.vue import LayoutVue from /views/La…

设计模式学习笔记 - 面向对象 - 8.实践:贫血模型和充血模型的原理及实践

1.Web开发常用的贫血MVC架构违背OOP吗&#xff1f; 前面我们依据讲过了面向对象四大特性、接口和抽象类、面向对象和面向过程编程风格&#xff0c;基于接口而非实现编程和多用组合少用继承设计思想。接下来&#xff0c;通过实战来学习如何将这些理论应用到实际的开发中。 大部…

Redis实现滑动窗口限流

常见限流算法 固定窗口算法 在固定的时间窗口下进行计数&#xff0c;达到阈值就拒绝请求。固定窗口如果在窗口开始就打满阈值&#xff0c;窗口后半部分进入的请求都会拒绝。 滑动窗口算法 在固定窗口的基础上&#xff0c;窗口会随着时间向前推移&#xff0c;可以在时间内平滑控…

对象池模板

概述 对象池的引入也是嵌入式开发的常用方法&#xff0c;也是内存预分配的一种&#xff0c;主要是用来隐藏全局对象的跟踪&#xff0c;通常预内存分配是通过数组来实现。 CMake配置 cmake_minimum_required(VERSION 3.5.1)project(objpool)add_executable(objpool objpool.cp…

2024“薪”风口、学习鸿蒙开发就业钱景如何?

随着华为的鸿蒙系统从诞生之初就备受关注&#xff0c;对于那些对鸿蒙开发感兴趣并希望在这一领域寻找职业发展的人来说&#xff0c;这是一个非常重要的问题。 那么&#xff0c;2024年学鸿蒙开发的就业前景如何呢&#xff1f; 一、彻底摆脱“安卓套壳”&#xff01; HarmonyO…

JVM垃圾收集器【如何找到垃圾、清除垃圾的算法、垃圾回收器】

JVM垃圾收集器 GC基本原理垃圾回收什么是垃圾?如何找到这个垃圾&#xff1f;1&#xff09;引用计数法&#xff08;Reference Counting&#xff09;2&#xff09;根可达算法&#xff08;GCRoots Tracing&#xff09;3&#xff09;回收过程4&#xff09;对象引用 清除垃圾的算法…

Excel的中高级用法

单元格格式&#xff0c;根据数值的正负分配不同的颜色和↑ ↓ 根据数值正负分配颜色 2-7 [蓝色]#,##0;[红色]-#,##0 分配颜色的基础上&#xff0c;根据正负加↑和↓ 2↑-7↓ 其实就是在上面颜色的代码基础上加个 向上的符号↑&#xff0c;或向下的符号↓ [蓝色]#,##0↑;[红色…

AI时代显卡如何选择,B100、H200、L40S、A100、H100、V100 含架构技术和性能对比

AI时代显卡如何选择&#xff0c;B100、H200、L40S、A100、H100、V100 含架构技术和性能对比。 英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择&#xff0c;含架构技术和性能对比带你解决疑惑。 近期&#xff0c;AIGC领域呈现出一片繁荣景象&a…

wcf 简单实践 数据绑定 数据校验

1.概要 1.1 说明 数据校验&#xff0c;如果数据不合适&#xff0c;有提示。 1.2 要点 class User : IDataErrorInfothis.DataContext user;<Window.Resources><Setter Property"ToolTip" Value"{Binding RelativeSource{RelativeSource Self},Pat…

vue3个人网站电子宠物

预览 具体代码 Attack.gif Attacked.gif Static.gif Walk.gif <template><div class"pet-container" ref"petContainer"><p class"pet-msg">{{ pet.msg }}</p><img ref"petRef" click"debounce(attc…

platform(驱动层+应用层)实现终端和中断开关点灯

设备树文件添加 myplatform{compatible"hqyj,myplatform";interrupt-parent<&gpiof>;interrupts<8 0>,<7 0>,<9 0>;led1-gpio<&gpioe 10 0>;led2-gpio<&gpiof 10 0>;led3-gpio<&gpioe 8 0>;reg<0x123…

什么是抖音视频下载软件|视频批量下载|爬虫工具

抖音视频抓取软件是一款方便用户获取抖音平台上视频内容的工具。它具备以下主要功能&#xff1a; 批量视频提取&#xff1a;用户可以输入关键词&#xff0c;软件将自动搜索抖音平台上与关键词相关的视频&#xff0c;并将它们列出供用户选择和下载。用户可以随时停止搜索和下载过…

测试C#使用PuppeteerSharp将网页生成PDF文件

微信公众号“DotNet开发跳槽”、“dotNET跨平台”、“DotNet”发布了几篇将网页生成图片或pdf文件的文章&#xff08;参考文献2-5&#xff09;&#xff0c;其中介绍了使用puppeteer-sharp、Select.HtmlToPdf、iTextSharp等多种方式实现html转图片或pdf&#xff0c;正好最近有类…

2024年危险化学品经营单位主要负责人证考试题库及危险化学品经营单位主要负责人试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年危险化学品经营单位主要负责人证考试题库及危险化学品经营单位主要负责人试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特…

Linux之部署前后端分离项目

Nginx配置安装 1.安装依赖 我们这里安装的依赖是有4个的 [rootlocalhost opt]# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.上传解压安装包 [rootlocalhost opt]# tar -xvf nginx-1.13.7.tar.gz -C /usr/local/java/3.安装Nginx &#xff0…

接口测试实战--自动化测试流程

一、项目前期准备 常见项目软件架构: springMvc:tomcat里运行war包(在webapps目录下) springboot:java -jar xx.jar -xms(**) 运行参数 springCloud:k8s部署,使用kubectl create -f xx.yaml 接口自动化测试介入需越早越好,只要api定义好就可以编写自动化脚本; 某个…