021-64227326
当前位置:首页 > 新闻咨询 > 行业资讯

学会这篇,突破相机限制!

发布日期:2020-10-29 20:23:49
分享:
Pix4Dreact是Pix4D公司去年发布的一款快拼软件。最近有一些用户反映,在使用Pix4Dreact处理数据时,显示相机不被软件所支持,无法继续处理,如下图: 
                                                 
其实,从Pix4Dreact 1.1版本开始,用户可以自定义相机参数文件,软件识别正确且格式符合的相机参数后,即可实现处理!
 
让我们来看一下如何自定义相机参数吧!
 
目 录

第一部分:生成相机参数文件

  • 方法一:使用相机参数模板  

  • 方法二:在Pix4Dmapper中生成相机参数文件
第二部分:在Pix4Dreact中导入相机参数文件
 
 
长文预警!!
本文篇幅比较长~ 但是无需担心!重点已用粗体为您圈出,无关部分也可以掠过~
 
 

第一部分

生成相机参数文件

 
 
 
 
我们这里所指的相机参数文件,是XML格式的文本文件,定义了相机的各种参数如焦距、传感器尺寸、镜头畸变等。
 
如果这些参数已知,您可以使用相机参数模板,生成XML文件,参照方法一。
 
如果这些参数未知,您可以使用Pix4Dmapper处理一组数据,Pix4Dmapper会自动校准相机参数,获得优化的内方位元素,参照方法二。
 
 
方法一:使用相机参数模板
 
以下分别是透视相机和鱼眼相机的相机参数文件示例,以及相应的说明。
 
透视镜头
 

<cameraModelDB>

     <version>19</version>

     <cameras>

          <cameraname="S.O.D.A._10.6_5472x3648">

              <imageWidth>5472</imageWidth>

              <imageHeight>3648</imageHeight>

              <pixelSize>2.4</pixelSize>

              <principalPointXmm>6.54</principalPointXmm>

              <principalPointYmm>4.348008</principalPointYmm>

              <lensType>perspective</lensType>

              <focalLengthmm>10.633008</focalLengthmm>

               <radialK1>0.033</radialK1>

              <radialK2>-0.209</radialK2>

              <radialK3>0.315</radialK3>

              <tangentialT1>0</tangentialT1>

              <tangentialT2>0</tangentialT2>

               <bandConfig>

                   <band name="Red"centralWaveLength="660" width="0"/>

                   <bandname="Green" centralWaveLength="550"width="0"/>

                   <bandname="Blue" centralWaveLength="470"width="0"/>

               </bandConfig>

          </camera>

     </cameras>

 </cameraModelDB>

 

 
鱼眼镜头
 

 

<cameraModelDB>

     <version>19</version>

     <cameras>

        <cameraname="PHANTOMVISIONFC200_5.0_4384x3288">

           <imageWidth>4384</imageWidth>

           <imageHeight>3288</imageHeight>

           <principalPointXmm>3.085</principalPointXmm>

           <principalPointYmm>2.31375</principalPointYmm>

           <lensType>fisheye</lensType>

            <poly1>1</poly1>

           <poly2>-0.00643155</poly2>

           <poly3>-0.127019</poly3>

           <poly4>-0.017398</poly4>

            <c>3853</c>

            <d>6.74</d>

            <e>6.74</e>

            <f>3853</f>

            <bandConfig>

               <band name="Red"centralWaveLength="660" width="0"/>

               <band name="Green"centralWaveLength="550" width="0"/>

               <band name="Blue"centralWaveLength="470" width="0"/>

           </bandConfig>

        </camera>

     </cameras>

 </cameraModelDB>

 

字段说明

 

标签 Camera,属性 name

字符串格式为:

<model>_<lens-model>_<focal-length>_<width>x<height>

这些信息可从影像的Exif中得到。

 

 如Exif中未定义镜头型号 (即lens-model), 则字符串格式为: <model>_<width>x<height>

 

标签 imageWidth, imageHeight

影像的宽度/高度(以像素为单位)

 

标签 pixelSize

像素大小(以微米为单位)

 

标签 pixelSize

像素大小(以微米为单位)

 

标签 principalPointXmm, principalPointYmm

像主点X/Y(以毫米为单位)


标签 LensType

透视或鱼眼镜头

 

标签 focalLengthmm

焦距(以毫米为单位,仅透视镜头)

 

标签 radialK1, radialK2, radialK3, tangentialT1, tangentialT2

径向和切向畸变系数(仅透视镜头)

 

标签 poly1, ..., poly4

多项式系数(仅鱼眼镜头)

 

标签 c, d, e, f

仿射变换参数(仅鱼眼镜头)

 

标签 bandConfig

波段列表

 

标签 band,属性name

波段名称 (以下之一: “Red”, “Green”, “Blue”, “NIR”, “Alpha”, “Gray”, “Red edge”, “Thermal IR”, “LWIR”, “Garbage”, “Unknown”)

 

标签 band,属性centralWaveLength

某波段的中心波长(以纳米为单位)

 

标签 band,属性width

带宽(以纳米为单位;如果未指定,则为0)

 

 

 
 
方法二
从Pix4Dmapper中生成相机参数文件
 
在本方法中,您会使用Pix4Dmapper处理一组数据,Pix4Dmapper会自动对相机的内方位元素进行优化。
 
  数据要求 
 
• 合适的影像数量,通常50张以上,150张以下就足够了。
• 非平面场景,即场景中的物体高度非一致。
• 具有足够的影像重叠率,丰富的纹理。
• 如果可能,请使用地面控制点
 

  校准步骤  

 

1. 新建工程,导入影像,控制点等信息。

2. 编辑相机型号。
• 设置传感器宽度和传感器高度,或像素大小
• 设置相机焦距
• 设置相机中心点x和相机中心点y,分别为1/2的图像宽度和高度
• 透视镜头:“带畸变的相机型号”设置为5
• 透视镜头:径向畸变R1, R2, R3都设置为0
• 透视镜头:切向畸变T1, T2都设置为0
• 鱼眼镜头:设置“多项式系数”的形式为“0-1-x-x-x”
• 鱼眼镜头:勾选“带对称仿射变换的相机型号“。
• 鱼眼镜头:仿射变换C = 图像宽度,仿射变换D=0,仿射变换E=0,仿射变换F = 图像宽度
 

 
△ 在Pix4Dmapper中编辑相机型号界面
 

3. 运行“1.初始化处理”。

4. (可选)如果有地面控制点,进行刺点,刺点完成后运行“重新优化”。

5. 通过以下方法评估建模质量
• 查看质量报告
• 在空三射线编辑器中,在不同位置挑选一些连接点,验证它们在原始影像中的重投影。

• 在空三射线编辑器中,验证地面控制点在原始影像中的重投影。

6. 如果建模质量不够好,请添加一些手工连接点。

7. 确认建模质量足够好之后,我们要把相机参数保存到数据库中:
• 回到“编辑相机型号“界面,点击”加载优化的参数“。
• 设置”相机中心点x“和“相机中心点y”,分别为1/2的图像宽度和高度。

• 最后点击窗口上方的保存。

8. 删除手工连接点(如有),重新运行“1.初始化处理”。

9. 评估建模质量(方法如前)。

10. 如果建模质量不够好,请重复步骤6-9。
11. 导出相机参数文件。
• 在Pix4Dmapper中,依此点击“帮助”,“配置”。
• 在“相机数据库”选项卡中,找到“用户自定义相机数据库”,点击“导出”。
 
△ 导出相机数据库
 
 
 

第二部分

从Pix4Dreact中导入相机参数文件

 
 
 
 
这一部分的操作就相对简单直白了:
 
1. 在Pix4Dreact的开始面板中,打开右上角的设置图标,单击Camera parameters file。
2. 单击Select files,选择你的.xml文件。
3. 退出设置。打开或新建一个工程,开始处理数据。软件会自动使用您刚刚导入的相机参数文件。
 

△ 在Pix4Dreact中导入相机参数文件

 

如果不想要使用某一个相机参数文件,您可以单击Remove以取消关联。
 
如果您为某个相机导入了相机参数文件,则其值将覆盖影像的Exif数据或内部相机库中的任何相应值。
 
至此,您就可以使用Pix4Dreact处理本来不支持的影像了!
 
--End--
上一篇:没有了
下一篇:没有了

邮箱分享