Geotagging my coordinates with images

8 次查看(过去 30 天)
Hi,there . The code that i want to write is :(i have a file of images and each images has a gps coordination in my csv excel file , well i need a code that gets a coordinates from my excel and tags it to it’s own picture… and at the end when i get the properties of my pictures i can see the coordinates in details) … i wrote to many codes but I wasn’t successful …plz help me to solve it ..thank you . And i took an example of my code .
Picfile=(address);coordsfile=(address.csv);
for i = 1:height(coords)
filename = coords.Filename{i};
lat = coords.Latitude(i);
lon = coords.Longitude(i);
command = sprintf( lat, lon, filename);
system(['exiftool ' command]);
end
  4 个评论
Walter Roberson
Walter Roberson 2025-1-17
编辑:Walter Roberson 2025-1-17
MATLAB is case sensitive, so For will not be recognized as being a for loop.
Also, the quotes ‘ and “ are unicode U+2018 and U+201C which are not recognized by MATLAB. You need to use U+0027 and U+0022 instead.
Walter Roberson
Walter Roberson 2025-1-17
Cmd=sprintf('exiftool -gpslatitude=%g -gpslongitude=%g filename', Lat, Lon);

请先登录,再进行评论。

回答(1 个)

Sandeep Mishra
Sandeep Mishra 2025-1-16
Hi Moa,
You can use the ‘Exiftool’ open-source software to modify the EXIF Data of an image.
Refer to the following example code snippet to modify the GPS property:
imagePath = 'image_file_name.png';
latitude = 38.7041;
longitude = 77.1025;
% Creating exiftool command to set GPS location
cmd = sprintf('exiftool -GPSLatitude=%f -GPSLatitudeRef=%s -GPSLongitude=%f -GPSLongitudeRef=%s "%s"', ...
latitude, latRef, longitude, lonRef, imagePath);
% Executing the exiftool command
status = system(cmd);
I hope this helps you!
  1 个评论
Moa
Moa 2025-1-16

I have problem in creating exiftool command to set gps location ….can you please explain what should i put or not in there !? This part of my code is : Cmd=sprintf(‘exiftool -gpslatitude=lat -gpslongitude=lon filename’); Status = system(cmd) And i get this error Warning:error converting value for gps:gpslatitude(valueconvinv)

And my full code is : Clc Clear all Coord(“path of coords.csv”) Photo=(“path of my image file”) Coords=readtable(coord) For i=1:numel(coords.filename) Filename= coords.filename(i) Lat= coords.latitude(i) Lon= coords.longitude(i) Cmd=sprintf(‘exiftool -gpslatitude=lat -gpslongitude=lon filename’); Addpath(genpath(“path of my run_exiftool file that I downloaded from here”) Status = system(cmd) Thanks for your help in advance

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by