Geotagging my coordinates with images

6 ビュー (過去 30 日間)
Moa
Moa 2025 年 1 月 16 日
編集済み: Walter Roberson 2025 年 1 月 17 日
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 Center および File ExchangeDownloads についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by