为单反拍摄照片批量加入地理位置信息(POS点)和EXIF信息 |
您所在的位置:网站首页 › 手机如何导出相机拍的照片 › 为单反拍摄照片批量加入地理位置信息(POS点)和EXIF信息 |
很多航测朋友对于照片中没有POS点很是懊恼,单反同飞控是分离的,照片由单反生成,而POS点的数据由飞控生成。对于后期数据处理相当不利,尤其是目前对于倾斜摄影的朋友,地理位置信息一定要写到照片中去,而动辄几百上千的照片通过手工加入地理位置信息,是非常不现实的。所以我编写了一个程序,可以通过这个程序将飞控生成得POS点数据批量加入单反所拍摄的照片中。
下面以纵横的飞控生成的POS数据为列子:
数据是以.txt文本的形式进行保存的。
我们需要的数据是 第三列的经度,第四列的纬度,第五列的高度信息。 当然,我的程序需要POS点信息排序同照片的名字排序是都是増序,即POS信息第一条数据是DSC_0001,假设单反拍摄的第一张照片DSC_0078.JPG,那么这就要求DSC_0002数据对应的照片名字为DSC_0079.JPG,以此类推。 那么怎么批量为照片添加POS数据呢? 首先,我们得为一张照片添加POS点,然后才能为大量照片添加,首先我来介绍一下我们的主角exiv2 大部分exif的库都不是很好用,exiv2 (http://www.exiv2.org) 挺不错。但在windows下编译很烦。 我们可以通过命令 exiv2 -M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" -M"set Exif.GPSInfo.GPSLatitudeRef N" image.jpg 这个命令就是为照片添加一个卑微4°15′33″的GPS信息当我们要批量为照片添加GPS信息时,我们可以通过读入飞控生成的GPS信息然后循环使用3条命令将这些信息写入照片中:1.添加经度信息,2.添加纬度信息,3.添加高度信息。
cmd_Latitude =" -M\"set Exif.GPSInfo.GPSLatitude"+latitude_value+"\""+"-M \"setExif.GPSInfo.GPSLatitudeRefN\" "; cmd_Longitude =" -M \"set Exif.GPSInfo.GPSLongitude "+Longitude_value+"\""+" -M \"set Exif.GPSInfo.GPSLongitudeRef E\" "; cmd_GPSAltitude=" -M \"set Exif.GPSInfo.GPSAltitude "+Altitude_value+"\" "; qDebug((cmd_Latitude+cmd_Longitude+cmd_GPSAltitude+fileName).toLatin1().data()); p.start("exiv2.exe"+cmd_Latitude+cmd_Longitude+cmd_GPSAltitude+fileName); p.waitForStarted(); p.waitForFinished(); qDebug() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |