3D全息投影是一种利用干涉和衍射原理记录并再现物体真实的三维图像,是一种观众无需配戴眼镜便可以看到立体的虚拟人物的3D技术。[1]
创新互联公司专业为企业提供上街网站建设、上街做网站、上街网站设计、上街网站制作等企业网站建设、网页设计与制作、上街企业网站模板建站服务,十年上街做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
其基本原理是:在拍摄过程中利用干涉原理记录物体光波信息,成象过程中利用衍射原理再现物体光波信息,从而能够再现物体真实的三维图像。这项技术在一些博物馆应用较多。
python肯定可以做,但是它目前没有成熟的框架
1、 定义一个特殊的 __slots__ 变量,来限制该class实例能添加的属性
2、 内置的 @property(关键字) 装饰器就是负责把一个方法变成属性调用的。@property.setter(这里的property是类里面的属性名)负责把一个setter方法变成属性赋值。
3、 __str__(),__repr__(),__iter__(),__next__(),__getitem__(),__setitem__(),__delitem__(),__getattr__(),__call__()
接到的需求是对文件夹下包括子目录所有影像进行投影变换,在网上找了找,大家的代码好像和需求不太一致,自己写了一个小工具。
思路是遍历文件夹所有.tif文件。
1.用os.walk()函数来获取路径和文件名
2.用 if 语句限制读取后缀为.tif的文件
3.将文件路径和文件名组合起来
4.调用arcpy.ProjectRaster_management语句投影变换并输出
由于刚刚接触python,难点主要在于os.walk()目录的读取这个函数的了解上。
以下是代码
#coding = utf-8
import os
import arcpy
from arcpy import *
#定义一个函数,第一个参数是一个集合,用来接收所有.tif的路径。第二个函数是指定的文件夹。
def huoqu(jieshou,lujing):
for dirpath,dirnames,filenames in os.walk(lujing):
for filename in filenames:
if os.path.splitext(filename)[1] == '.tif':
file1 = dirpath+'\\'+filename
jieshou.append(file1)
#这里变量的设置,GetParameterAsText函数来获取对应在python工具箱中的位置
env.workspace = GetParameterAsText(0)
work = env.workspace
ref = GetParameterAsText(1)
tifz = []
#调用自定义的函数
huoqu(tifz,work);
#对所有的影像进行循环投影变换,并且将输出路径设置为指定的文件夹+原本的名字
for file in tifz:
out = GetParameterAsText(2)+"/"+ os.path.basename(file)
ProjectRaster_management(file,out,ref)