航摄像片生成DSM(Pix4d)2021.5.21

Posted jing_zhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了航摄像片生成DSM(Pix4d)2021.5.21相关的知识,希望对你有一定的参考价值。

1、常用无人机数据处理软件

1.1、ContextCapture

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2、Pix4d

在这里插入图片描述
在这里插入图片描述

2、Pix4d安装步骤

2.1 Pix4d安装包下载

        到百度网盘下载链接中下载Pix4d安装包文件,提取码:mw66
在这里插入图片描述
        下载到本地文件夹后如下图所示:
在这里插入图片描述

2.2 Pix4d安装方法

        首先双击Pix4Dmapper.msi安装包文件,弹出安装界面,点击Next
在这里插入图片描述
        选择安装路径为 D:\\Pix4Dmapper\\ 后点击Next
在这里插入图片描述
        之后点击Install开始安装,安装结束后取消勾选 Launch Pix4Dmapper后点击Finish即可。
在这里插入图片描述
在这里插入图片描述
        下面利用Pix4d文件夹中的破解工具进行破解,双击硬件获取.exe后弹出窗口坐下角输入123后点击右侧的Generate HWID后在上方的文本框中生成了硬件ID码,复制下来。
在这里插入图片描述
        之后打开注册机文件夹下的注册.exe,将HWID码粘贴到左侧文本框中后在右侧Owner中输入123,Days输入9999后点击Decode后会在右侧生成log日志,最终点击最右侧的Save REG两次即可在注册机文件夹生成123_pix4d.reg注册表文件。
在这里插入图片描述
在这里插入图片描述

        现在双击123_pix4d.reg注册表文件,看到123_pix4d.reg中包含的项和值已成功添加到注册表中后点击确定即可,至此Pix4d破解完成。
在这里插入图片描述
在这里插入图片描述
        最后双击Pix4d文件夹下的联网工具.exe后在右下角弹出Pix4d Tool v4.0,点击AutoStart即可,启动桌面或开始菜单的Pix4Dmapper.exe便可打开Pix4D。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
        进入上述Pix4d界面表示破解成功,可以新建项目了。(注:如果没正常启动该界面,需要多次尝试注册机破解后并注意打开联网公工具中的AutoStart后打开Pix4Dmapper.exe)

3、准备无人机倾斜摄影测量数据(航摄像片)

        外业无人机倾斜摄影测量数据如下图所示。
在这里插入图片描述

4、利用Pix4d生成DOM和DSM

4.1 新建项目开始处理

        打开Pix4Dmapper后,点击新项目,项目名称输入TestUAVGerateDOMandDSM后点击Next
在这里插入图片描述
在这里插入图片描述
        在弹出的新项目窗口中点击添加图像,在图像浏览窗口选择无人机倾斜摄影测量的数据(54张航摄像片)后点击Next
在这里插入图片描述
        在图片属性窗口会显示图像的地理位置、基准和相机型号等信息,直接点击Next
在这里插入图片描述
        在选择输出坐标系窗口可以看到自动检测到WGS 84/ UTM zone 44N,而非纯粹的地理坐标系WGS 84,处理的结果如果要用WGS 84地理坐标系的话需要进行坐标转换
在这里插入图片描述
        选择处理选项模板为 3DMaps,右侧可以看到为应用实例生成DSM和正射影像图,选中开始处理后点击Finish。
在这里插入图片描述
        下面进入数据处理阶段,只需等待
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 Pix4d处理航摄像片生成的DSM和DOM

        最后项目处理结果文件夹如下图所示,数字表面模型DSM和数字正射影像DOM结果都被保存在3_dsm_ortho文件夹下,其中DSM被保存在1_dsm文件夹,DOM被保存在2_mosaic文件夹。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
DSM正射影像对应的空间参考投影文件TestUAVGerateDOMandDSM_dsm.prj内容为:

PROJCS["WGS 84 / UTM zone 44N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32644"]]

在这里插入图片描述
DOM正射影像对应的空间参考投影文件TestUAVGerateDOMandDSM_transparent_mosaic_group1.prj内容为:

PROJCS["WGS 84 / UTM zone 44N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32644"]]

4.3 ArcGIS打开DSM和DOM结果查看坐标系

在这里插入图片描述
        打开ArcMap后,点击添加数据,选择DSM和DOM后确定,显示效果如下图所示,同时在图层上右键->属性->源可查看对应的空间参考(坐标系)为WGS 84 / UTM zone 44N。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、DSM结果tif投影坐标转换为地理坐标WGS84

        在ArcGIS中导出地理坐标系WGS84对应的空间参考文件WGS 1984.prj
在这里插入图片描述
在这里插入图片描述
WGS 1984.prj内容如下:

GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433],AUTHORITY["EPSG",4326]]

5.1 使用ArcGIS中的ToolBox(ArcMap手动操作)

        在ArcGIS的工具箱ToolBox中找到数据管理工具下的投影与变换,进入栅格中的投影栅格,打开投影栅格窗口,选择要重投影的栅格文件和输出坐标系WGS84地理坐标系后确定即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
        在ArcMap中查看重投影后DSM84.tif和DOM84.tif的坐标系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

        DSM84影像中通过识别工具查看影像像素值发现黑色的边框部分对应的RGB的值均为0,可在图层上右键选择属性,在符号系统下的RGB合成中选中显示背景值左侧的方框,并选择背景颜色为白色则可去除黑色边框。
在这里插入图片描述
在这里插入图片描述

5.2 后台调用ArcGIS中的Arcpy实现栅格重投影并处理NoData(python脚本)

5.2.1 栅格重投影坐标系arcpy脚本所用工具介绍

        这里主要利用ArcGISToolBox中的投影栅格和复制栅格两个工具,通过查看工具帮助里的arcpy调用API来实现python脚本对DSM和DOM的重投影,最终编写了一个ConvertTifToWGS84.py脚本文件,放到ArcGIS对应的python编译器路径(D:\\ArcGIS\\Python27\\ArcGIS10.4)下打开cmd窗口输入python.exe ConvertTifToWGS84.py即可运行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.2 ConvertTifToWGS84.py调用示例

在这里插入图片描述
        如上图所示,要转换的栅格影像Tif所在的文件夹为C:\\Users\\Administrator\\Documents\\pix4d\\TestUAVGerateDOMandDSM\\3_dsm_ortho\\DSMandDOMToWGS84,需要手动在此文件夹下新建一个result文件夹,这个result文件夹用来保存转换为WGS 84坐标系后的Tif文件,同时在D:\\ArcGIS\\Python27\\ArcGIS10.4文件夹下修改ConvertTifToWGS84.py代码的第三行为rootdir = "C:/Users/Administrator/Documents/pix4d/TestUAVGerateDOMandDSM/3_dsm_ortho/DSMandDOMToWGS84"后内容如下所示。
ConvertTifToWGS84.py(利用ArcGIS 的python2.7 arcpy)

import os
import arcpy
rootdir = "C:/Users/Administrator/Documents/pix4d/TestUAVGerateDOMandDSM/3_dsm_ortho/DSMandDOMToWGS84"
flag = 0
for (dirpath, dirnames, filenames) in os.walk(rootdir):
    for filename in filenames:
        suffex = filename[len(filename) - 4] + filename[len(filename) - 3] + filename[len(filename) - 2] + filename[len(filename) - 1]
        if (suffex == '.tif'):
            inputTif = rootdir + '/' + filename
            middleTif = rootdir + '/result/' + '' + 'wgs1984' + filename
            outputTif = rootdir + '/result/' + '' + 'Noda_wgs1984' + filename
            print(inputTif)
            filename_prj = inputTif.replace('.tif','.prj')
            #sourceSR = arcpy.SpatialReference(filename_prj)
            print(filename_prj)
            targetSR = arcpy.SpatialReference("C:/Users/Administrator/Desktop/WGS 1984.prj")
            arcpy.ProjectRaster_management(inputTif, middleTif, targetSR, "BILINEAR")
            # arcpy.ProjectRaster_management(inputTif, middleTif, targetSR, "BILINEAR", "#", "#", "#", sourceSR)
            arcpy.CopyRaster_management(middleTif,outputTif,"#", "#", 0);
            print('Result:'+outputTif)
print('successed!')
# python.exe ConvertTifToWGS84.py

在这里插入图片描述

GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433],AUTHORITY["EPSG",4326]]

        下面需要将WGS 1984.prj复制到桌面,在D:\\ArcGIS\\Python27\\ArcGIS10.4文件夹下打开cmd命令行窗口,并输入命令python.exe ConvertTifTiWGS874.py回车开始执行坐标转换,执行完成后会在result文件夹得到转换后的DSM和DOM。
在这里插入图片描述
        result文件夹下转换为WGS 84坐标系后的DSM和DOM结果如下,可以在ArcGIS中打开查看坐标系。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.3 成功叠加WGS84坐标系的DSM和DOM到三维地球OSGEarth显示

在这里插入图片描述
在这里插入图片描述

以上是关于航摄像片生成DSM(Pix4d)2021.5.21的主要内容,如果未能解决你的问题,请参考以下文章

GlobalMapper精品教程009:DSM过滤植被和房屋并生成等高线案例教程

GlobalMapper精品教程009:DSM过滤植被和房屋并生成等高线案例教程

多片前方交会的含义和前提

Containerd的安装和配置

Arcmap生成切片方案及影像切片

生成正射影像/DSM,等高线提取