到百度网盘下载链接中下载Pix4d安装包文件,提取码:mw66
下载到本地文件夹后如下图所示:
首先双击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)
打开Pix4Dmapper后,点击新项目,项目名称输入TestUAVGerateDOMandDSM
后点击Next
在弹出的新项目窗口中点击添加图像,在图像浏览窗口选择无人机倾斜摄影测量的数据(54张航摄像片)后点击Next
在图片属性窗口会显示图像的地理位置、基准和相机型号等信息,直接点击Next
在选择输出坐标系窗口可以看到自动检测到WGS 84/ UTM zone 44N,而非纯粹的地理坐标系WGS 84,处理的结果如果要用WGS 84地理坐标系的话需要进行坐标转换。
选择处理选项模板为 3DMaps,右侧可以看到为应用实例生成DSM和正射影像图,选中开始处理后点击Finish。
下面进入数据处理阶段,只需等待
最后项目处理结果文件夹如下图所示,数字表面模型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"]]
打开ArcMap后,点击添加数据,选择DSM和DOM后确定,显示效果如下图所示,同时在图层上右键->属性->源可查看对应的空间参考(坐标系)为WGS 84 / UTM zone 44N。
在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]]
在ArcGIS的工具箱ToolBox中找到数据管理工具下的投影与变换,进入栅格中的投影栅格,打开投影栅格窗口,选择要重投影的栅格文件和输出坐标系WGS84地理坐标系后确定即可。
在ArcMap中查看重投影后DSM84.tif和DOM84.tif的坐标系
DSM84影像中通过识别工具查看影像像素值发现黑色的边框部分对应的RGB的值均为0,可在图层上右键选择属性,在符号系统下的RGB合成中选中显示背景值左侧的方框,并选择背景颜色为白色则可去除黑色边框。
这里主要利用ArcGISToolBox中的投影栅格和复制栅格两个工具,通过查看工具帮助里的arcpy调用API来实现python脚本对DSM和DOM的重投影,最终编写了一个ConvertTifToWGS84.py脚本文件,放到ArcGIS对应的python编译器路径(D:\ArcGIS\Python27\ArcGIS10.4)下打开cmd窗口输入python.exe 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中打开查看坐标系。