为单反拍摄照片批量加入地理位置信息(POS点)和EXIF信息

您所在的位置:网站首页 手机如何导出相机拍的照片 为单反拍摄照片批量加入地理位置信息(POS点)和EXIF信息

为单反拍摄照片批量加入地理位置信息(POS点)和EXIF信息

2024-07-14 04:40| 来源: 网络整理| 查看: 265

    很多航测朋友对于照片中没有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