Làm cách nào để tự động xoay hình ảnh dựa trên dữ liệu EXIF?


12

Tôi biết làm thế nào để làm nó bằng tay . Bây giờ tôi muốn tự động hóa dựa trên dữ liệu EXIF. Tôi đã exiftoolcài đặt, nhưng có vẻ như nó chỉ có thể đọc dữ liệu, nhưng không thể xoay hình ảnh.

một câu hỏi tương tự trên SU về Ubuntu . Nhưng tôi đang tìm giải pháp khả thi bằng OSX.


Câu trả lời cho câu hỏi trích dẫn của bạn đề cập đến XnView. Trong khi đó, cũng có XnViewMP rất giống nhau, nhưng cũng chạy trên MacOS .
mpy

Câu trả lời:


6

Bạn có thể sử dụng nconvert, đó là phần mềm miễn phí (cho mục đích cá nhân và giáo dục) và có sẵn cho Win, Linux và Mac .

Công cụ này có thể xoay hình ảnh JPEG lossless theo thẻ định hướng EXIF:

nconvert -jpegtrans exif -o 'rotated_%.jpg' *.jpg

Lệnh đó sẽ chuyển đổi hàng loạt tất cả các tệp JPEG trong thư mục hiện tại và thêm tên của chúng vào rotated_. Điều này được kiểm soát bởi -otùy chọn, tham khảo để nconvert -helpbiết thêm khả năng:

-o filename       : Output filename
   Use # to specify position of numeric enumerator
   Use % to specify source filename
   Use $ to specify full source pathname
   Use $$ to specify source folder name

Cảm ơn, mpy. Tôi nên đặt ở đâu nconvertsau khi đã tải xuống và giải nén (để nó chỉ có sẵn theo tên)? Tôi đã cố gắng chuyển nó sang Ứng dụng, nhưng không được.
LA_

@LA_: Vào một số thư mục trong PATH của bạn (kiểm tra đầu ra của echo $PATH). Trong linux, một vị trí thông thường là ~/bin, nhưng tôi không thể nói bất cứ điều gì về OSX, xin lỗi. Trong một số trường hợp, bạn phải phát hành rehash(hoặc bắt đầu một thiết bị đầu cuối mới) sau khi di chuyển một tệp thực thi sang một thư mục khác.
mpy

15

Bạn có thể sử dụng miễn phí jhead (mà bản thân sử dụng jpegtran ).

Để sửa ảnh có tên "image.jpg", chỉ cần gõ:

jhead -autorot image.jpg

Để sửa tất cả các JPG có dữ liệu EXIF ​​trong thư mục hiện tại, hãy sử dụng:

jhead -autorot *.jpg

Nếu một khi xoay các biểu tượng hình thu nhỏ không hiển thị chính xác, bạn có thể làm mới chúng bằng cách:

  1. Tạo một thư mục mới (giữ tên không có tiêu đề)
  2. Di chuyển các hình ảnh bị ảnh hưởng vào thư mục
  3. Sử dụng Chế độ xem Cột, di chuyển hình ảnh trở lại thư mục gốc
  4. Xóa thư mục không tên trống

Đây là mục yêu thích của tôi - Tôi nhớ jpegtran gặp một số rắc rối với việc tước dữ liệu EXIF. Phải có trước khi gửi ảnh qua e-mail, sẽ được xem bằng Chrome hoặc trình duyệt khác không tôn trọng định hướng EXIF!
Tomasz Gandor

1

Đây không phải là một giải pháp kịch bản. Tôi thích cách này vì nó cho phép tôi thay đổi các khía cạnh khác của ảnh trong một bước.

Giải pháp đơn giản có thể là sử dụng Google Picasa.

Sau khi thêm hình ảnh vào, tất cả các hình ảnh sẽ được tự động hiển thị. Nếu hình ảnh phải được autorotated trong tập tin, nó là đủ để nhấn nút lưu trên thư mục hình ảnh. Điều này sẽ lưu tất cả các hình ảnh trong thư mục với xoay vòng chính xác. Picasa cũng có sẵn cho OS X và chạy trong Linux trong Wine.


Picasa đã bị Google ngừng cung cấp.
Blazemonger

0

Nếu bạn muốn sử dụng Automator cho việc này, bạn chỉ cần sử dụng Xoay hình ảnh (180deg) hai lần trong quy trình làm việc.

Ví dụ: tôi sử dụng hành động tự động chuyển đổi tất cả hình ảnh thành JPEG, xoay chúng 360 độ (do sự cố của OP) và sau đó chia tỷ lệ chúng thành chiều rộng 1024px. Chạy các hành động, chọn các tập tin, lợi nhuận! :)

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.