全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Photoscan建模教程

发布时间:2023-11-22 22:00:47
发布人:xqq

一、环境搭建

在使用Photoscan进行建模前,需要先安装好相关软件并进行配置。

首先,需要安装好Photoscan软件,可以从官网下载。安装完成后,需要对软件进行一些设置,以保证软件能够正常运行。具体设置项如下:


// 设置图片格式为jpg
app = PhotoScan.app
doc = PhotoScan.app.document
doc.save("E:\\test.psx")
chunk = doc.chunk
chunk.cameras[0].photo.image_path = "E:\\test.jpg"
doc.save()

设置图片格式为jpg后,可以对Photoscan进行一系列的操作,进行建模,下面将详细介绍。

二、导入图片

在Photoscan中,可以使用相机拍摄现场实景,并将图片导入软件中,进行建模。导入图片的过程如下:


// 导入图片
app = PhotoScan.app
doc = PhotoScan.app.document
chunk = doc.addChunk()
for i in range(4):
    path = "E:\\test" + str(i) + ".jpg"
    chunk.addPhotos([path])
    doc.save()

要想从多个角度对一个实物进行拍摄,需要将相机移动到不同的位置,从而获取多组图片。导入图片后,下一步就可以进行对齐操作。

三、对齐图片

对齐图片是建模过程中的必要步骤,它可以将不同角度的图片进行对齐,并得到一个稳定的实景模型。对齐图片的过程如下:


// 对齐图片
app = PhotoScan.app
doc = PhotoScan.app.document
chunk = doc.chunk
chunk.matchPhotos(accuracy=PhotoScan.HighAccuracy, preselection=PhotoScan.GenericPreselection, filter_mask=False, keypoint_limit=0, tiepoint_limit=0)
chunk.alignCameras()

对齐图片完成后,下一步需要生成模型。

四、生成模型

在对齐图片完成后,就可以生成实景模型了。生成模型的过程如下:


// 生成模型
app = PhotoScan.app
doc = PhotoScan.app.document
chunk = doc.chunk
chunk.buildDepthMaps(quality=PhotoScan.MediumQuality, filter=PhotoScan.MildFiltering)
chunk.buildDenseCloud()
chunk.buildModel(surface=PhotoScan.Arbitrary, interpolation=PhotoScan.EnabledInterpolation)
chunk.buildUV(mapping=PhotoScan.GenericMapping)
chunk.buildTexture(blending=PhotoScan.MosaicBlending, size=4096)
doc.save("E:\\test.psx")

生成模型完成后,可以对模型进行编辑和优化。

五、编辑和优化模型

在生成模型后,需要对其进行编辑和优化,以保证模型的质量。具体操作如下:


// 编辑和优化模型
app = PhotoScan.app
doc = PhotoScan.app.document
chunk = doc.chunk
for face in chunk.model.faces:
    for vertex in face.vertices:
        if vertex.coord[2] < -1:
            vertex.coord[2] = -1
        if vertex.coord[2] > 1:
            vertex.coord[2] = 1
chunk.optimizeCameras()
doc.save()

编辑和优化模型完成后,可以导出模型,得到最终的实景模型。

六、导出模型

在编辑和优化模型完成后,可以将其导出为多种格式,以供后续使用。导出模型的过程如下:


// 导出模型
app = PhotoScan.app
doc = PhotoScan.app.document
chunk = doc.chunk
mesh = chunk.model
mesh.export("E:\\test.obj")
mesh.exportFaceMask("E:\\test_mask.bmp", "bmp")
mesh.exportOrthophoto("E:\\test_ortho.png")
doc.save()

导出模型完成后,即可用其他软件进行进一步编辑和处理。

plotcolor

相关文章

WebSocket连接测试

WebSocket连接测试

2023-11-22
如何在plt中设置画布大小

如何在plt中设置画布大小

2023-11-22
Pandas读取指定行数据

Pandas读取指定行数据

2023-11-22
Idea快捷键设置用法介绍

Idea快捷键设置用法介绍

2023-11-22

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取