Chuyển thông tin gps exif từ hình ảnh này sang hình ảnh khác


13

Tôi có một máy ảnh (không phải điện thoại di động) chèn thông tin exif gps vào hình ảnh.

Thực tế là: sử dụng "gps on" mọi lúc sẽ làm cạn kiệt pin. Vì vậy, tôi nghĩ: những gì về việc chỉ chụp một bức ảnh với gps và họ ở nhà thêm thông tin exif này cho những người khác?

Tôi muốn biết nếu có những ứng dụng mà bạn biết có thể giúp tôi trong tình huống này: có một bức ảnh với thông tin exif về gps, sao chép thông tin gps này vào một loạt các hình ảnh khác.

(Tôi thích các giải pháp Linux / Mac, nhưng tôi cũng chấp nhận các cửa sổ. Tôi không phiền nếu đó là một ứng dụng dòng lệnh.)


Câu trả lời:


13

Hãy xem ExifTool . Nó là một con dao quân đội Thụy Sĩ của thao túng thông tin Exif, có thể làm những gì bạn cần, trong số nhiều thứ khác. Nó là công cụ dòng lệnh tương thích Windows / Linux / Mac và mô-đun Perl. Nguồn mở và miễn phí:

Tùy chọn "-tagsFromFile"

Tùy chọn ExifTool đặc biệt cho phép sao chép thẻ từ tệp này sang tệp khác. Cú pháp dòng lệnh để thực hiện việc này là "-tagsFromFile SRCFILE". Bất kỳ thẻ nào được chỉ định sau tùy chọn này trên dòng lệnh được trích xuất từ ​​tệp nguồn và được ghi vào tệp đích. Nếu không có thẻ nào được chỉ định, thì tất cả các thẻ có thể ghi được sao chép. Tùy chọn này rất đơn giản, nhưng rất mạnh mẽ. Tùy thuộc vào định dạng của tệp nguồn và tệp đích, một số thẻ được đọc có thể không hợp lệ trong tệp đích, trong trường hợp chúng không được ghi.

Lệnh sau sẽ thay đổi tất cả các tệp trong thư mục hiện tại và các tệp con của nó (đệ quy), sao chép tất cả các thẻ liên quan đến GPS từ tệp SOURCE.JPG:

exiftool overwrite_origen_in_place -r -tagsFromFile SOURCE.JPG -gps: all.

Một cách khác để làm điều này là đưa những điều sau vào một kịch bản. Tham số đầu tiên được truyền phải là tệp để sao chép tọa độ GPS từ đó và tất cả các tham số khác là các tệp mục tiêu sẽ được cập nhật:

#!/usr/bin/env bash
lon=$(exiftool -s3 -GPSLongitude "$1")
lat=$(exiftool -s3 -GPSLatitude "$1")
exiftool -GPSLongitude="$lon" -GPSLatitude="$lat" "${@:2}"

2
jhead là một tiện ích rất hữu ích khác có thể bổ sung cho ExifTool.
MikeyB

1
@ SomebodystillusesyouMS-DOS: Tất cả các đối số (các mục trong $@mảng) bắt đầu bằng lần thứ 2. Ngoài ra, bây giờ là bốn dòng mà tôi nhận ra rằng tôi đã đặt rất nhiều thứ không cần thiết (và không chính xác) ở đó. (Ngoài ra, "đã giải quyết".)
dùng1686

1
Trong khi bạn đang sử dụng tập lệnh, tôi sẽ tiếp tục tin vào sự thật rằng tôi hoàn toàn bỏ lỡ tagsFromFiletùy chọn có thể thực hiện tương tự trong một dòng ...
user1686

1
@grawity: Tôi hơi bất ngờ vì chỉnh sửa của bạn :-)
haimg

2
@grawity và @haimg: exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps:all .- -rtùy chọn đệ quy vào thư mục ( .), và -gps:all... đó chỉ là những gì tôi đang tìm kiếm. Tôi đánh bạn, grawity! :) Tôi nghĩ rằng bạn có thể chỉnh sửa bài đăng này và thêm đoạn trích này, nhưng hãy nhớ cảnh báo mọi người đọc exiftool --helpđể hiểu các tùy chọn khác mà tôi đã đưa ra ... cảm ơn tất cả các bạn!
Ai đó vẫn sử dụng bạn MS-DOS

0

Bạn cũng có thể sử dụng exiv2 - nhanh hơn nhiều và, ví dụ, có thể ghi dữ liệu exif vào hình ảnh webp (và những thứ khác).

exiv2 -PkV --grep GPSL source.jpg | exiv2 -m- destination.webp

Đây là ví dụ từ bảng exiv2 .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.