Tôi đang sử dụng PIL. Làm cách nào để biến dữ liệu EXIF thành từ điển của công cụ?Trong Python, làm cách nào để đọc dữ liệu exif cho một hình ảnh?
Trả lời
Hãy thử điều này:
import PIL.Image
img = PIL.Image.open('img.jpg')
exif_data = img._getexif()
này sẽ cho bạn một cuốn từ điển được lập chỉ mục bởi EXIF thẻ số. Nếu bạn muốn từ điển chỉ mục bởi các EXIF tên thẻ chuỗi thực tế, hãy thử một cái gì đó như:
import PIL.ExifTags
exif = {
PIL.ExifTags.TAGS[k]: v
for k, v in img._getexif().items()
if k in PIL.ExifTags.TAGS
}
Bất kỳ thay thế Python 3 nào? –
Python 2.7.2: Đối tượng 'AttributeError: 'module' không có thuộc tính 'ExifTags'' – 2rs2ts
@ 2rs2ts: Thử' import ExifTags' (không có tiền tố 'PIL'). –
Bạn cũng có thể sử dụng ExifRead mô-đun:
import exifread
# Open image file for reading (binary mode)
f = open(path_name, 'rb')
# Return Exif tags
tags = exifread.process_file(f)
Bạn có thể kiểm tra điều này trên Câu hỏi này, tải xuống hình ảnh và thử lấy ImageDescription không. http://stackoverflow.com/questions/22173902/how-to-get-image-title-in-python-django – Clayton
@Clayton cho cả hình ảnh, exifread trả về từ điển trống. Nhưng tôi đã thử nghiệm trên các bức ảnh của tôi và nó hoạt động tốt. – tnq177
tôi sử dụng này:
import os,sys
from PIL import Image
from PIL.ExifTags import TAGS
for (k,v) in Image.open(sys.argv[1])._getexif().iteritems():
print '%s = %s' % (TAGS.get(k), v)
hoặc để có một trường cụ thể:
def get_field (exif,field) :
for (k,v) in exif.iteritems():
if TAGS.get(k) == field:
return v
exif = image._getexif()
print get_field(exif,'ExposureTime')
- 1. Làm cách nào để đọc dữ liệu EXIF từ một hình ảnh được chụp bằng iPhone của Apple
- 2. Làm cách nào để đọc dữ liệu hình ảnh từ một URL bằng Python?
- 3. Có đá quý nào để đọc dữ liệu exif từ hình ảnh png
- 4. Ghi siêu dữ liệu EXIF vào hình ảnh trong Android
- 5. Sao chép một hình ảnh, mất dữ liệu Exif
- 6. Làm cách nào để thêm dữ liệu exif vào hình ảnh?
- 7. Thao tác hình ảnh mà không xóa dữ liệu EXIF
- 8. ImageIO - nhận loại hình ảnh và Exif dữ liệu
- 9. Làm cách nào để xóa dữ liệu EXIF (camera) khỏi ảnh bằng sóng mang?
- 10. Làm thế nào để viết hoặc sửa đổi dữ liệu EXIF cho một hình ảnh hiện có trên hệ thống tập tin, mà không cần tải hình ảnh?
- 11. Làm cách nào để đọc tệp hình ảnh bằng Python?
- 12. Làm cách nào để đọc dữ liệu cx_Oracle.LOB bằng Python?
- 13. Làm thế nào để viết tùy chỉnh siêu dữ liệu để hình ảnh PNG trong iOS
- 14. Dữ liệu hình ảnh exif trong công cụ ứng dụng google
- 15. Thay đổi kích cỡ hình ảnh bằng .NET mà không làm mất dữ liệu EXIF
- 16. Thư viện đọc Exif
- 17. cách áp dụng định dạng EXIF cho hình ảnh làm url trong android
- 18. Làm cách nào để đọc mã cho tóm tắt() cho một khung dữ liệu?
- 19. Làm cách nào để bạn có được một mảng dữ liệu pixel từ một hình ảnh?
- 20. Siêu dữ liệu truy cập (thẻ exif) của hình ảnh được chụp bởi UIImagePickerController - iOS/iPhone
- 21. Cách đọc dữ liệu hdf trong Octave
- 22. C# Lấy dữ liệu EXIF cụ thể của Canon
- 23. đọc hình ảnh BLOB từ cơ sở dữ liệu MySQL
- 24. Sao chép hình ảnh và lưu giữ dữ liệu EXIF / IPTC của nó bằng PHP imageCreateFromJpeg?
- 25. Chỉnh sửa/Xóa dữ liệu hình ảnh Exif trên Windows Phone
- 26. Làm thế nào để đọc một dòng dữ liệu csv trong Python?
- 27. Làm thế nào để đọc một hình ảnh với PHP?
- 28. Viết/Geotag JPEG (dữ liệu EXIF) trong Android
- 29. dữ liệu Android Exif trong tập tin JPEG
- 30. Lưu trữ thông tin EXIF trong Cơ sở dữ liệu
Câu hỏi gần đây hơn tại đây: http://stackoverflow.com/questions/14009148/exif-reading-library –
Xem câu trả lời ở đây: http://stackoverflow.com/questions/765396/exif-manipulation-library-for-python –
http://tilloy.net/dev/pyexiv2/tutorial.html Đây là cách dễ nhất và toàn diện nhất. –