DESCRIPTION file — Что это? Как открыть такой файл? Решения проблем с файлами DESCRIPTION
Неизвестное расширение файла может быть источником различных проблем. Однако выявление причин проблем с файлами DESCRIPTION и их устранение не являются сложным процессом. Эта статья опишет 5 простых шагов, которые позволят вам решить проблемы с файлами DESCRIPTION.
- 1. DESCRIPTION расширение файла
- 2. Как открыть файл DESCRIPTION?
- 2.1 Найдите и скачайте и установите соответствующее программное обеспечение
- 2.1.1 Программы, поддерживающие DESCRIPTION файлы
DESCRIPTION расширение файла
- Тип файла Multilizer PDF Translator Description
- Разработчик файлов N/A
- Категория файла Другие файлы
- Рейтинг популярности файлов
Как открыть файл DESCRIPTION?
Шаг 1. Найдите и скачайте и установите соответствующее программное обеспечение
Обычно для открытия файлов. DESCRIPTION достаточно выполнить следующие простые шаги: найти, загрузить и установить соответствующее программное обеспечение. Затем, дважды щелкнув значок файла, откройте файл. Система должна автоматически связать DESCRIPTION файл с соответствующим программным обеспечением. Ниже приведен список программ, необходимых для открытия файлов с расширением DESCRIPTION:
Как правильно составить Description для SEO
Программы, поддерживающие DESCRIPTION файлы
Шаг 2. Убедитесь, что файл DESCRIPTION не заражен вредоносным ПО
Если данный файл с расширением DESCRIPTION не заражен, возможно, антивирусная программа блокирует доступ к файлу. Пользователь должен принять необходимые меры предосторожности и выполнить действия, предложенные системой. После восстановления или удаления зараженного файла рекомендуется проверить всю систему на наличие вирусов. Вам нужно будет приобрести новую, чистую версию файла DESCRIPTION.
Подсказка!
Имейте в виду, что вы всегда можете обратиться за помощью к ИТ-специалисту. Некоторые проблемы с файлами DESCRIPTION могут быть трудно решить для менее опытных пользователей. Также вы можете обратиться за помощью к одному из разработчиков программного обеспечения, которое поддерживает файлы с расширением DESCRIPTION. Для этого перейдите на подстраницу программного обеспечения и найдите адрес веб-сайта разработчика программного обеспечения.
Шаг 3. Убедитесь, что файлы DESCRIPTION завершены, то есть были ли они загружены правильно
Если файл DESCRIPTION не был загружен должным образом, программное обеспечение не сможет открыть такой файл. Проверьте размер файла в том месте, откуда вы скачали нужный файл. Если размер исходного файла отличается от размера загруженного файла DESCRIPTION, вам придется загрузить файл снова.
Шаг 4. Убедитесь, что файлы DESCRIPTION связаны с соответствующим программным обеспечением
Если в системном реестре нет записи, связанной с программой по умолчанию, которая должна использоваться для открытия файлов DESCRIPTION , даже если данная программа установлена в системе, тогда файлы DESCRIPTION должны быть связаны с рассматриваемым приложением.
Лучшая бесплатная программа для создания панорам — Image Composite Editor
Связывание файлов с приложениями выполняется аналогично, независимо от типа системы, и состоит в выборе приложения, которое следует использовать для открытия файлов данного типа. Чтобы связать DESCRIPTION файлы с данным приложением, щелкните правой кнопкой мыши значок файла и выберите в контекстном меню пункт «Открыть с помощью» , который отобразит список предлагаемых программ. Выберите вашу программу из списка. Если приложение отсутствует в списке, используйте кнопку «Обзор» и укажите местоположение приложения. Если установлен флажок «Всегда использовать выбранное приложение для открытия файлов такого типа» , выбранное приложение будет установлено в качестве приложения по умолчанию для открытия указанных файлов.
Шаг 5. Убедитесь, что носитель, на котором хранятся файлы DESCRIPTION, не поврежден или не поврежден
Возможно, что носитель, на котором находится файл, поврежден или поврежден. Попробуйте сканировать носитель на наличие ошибок.
Подобные расширения файлов
- Расширение файла Имя файла
- .DELF Malicious Or Virus
- .DEVICEMETADATA-MS Microsoft Windows 7 Device Metadata Package
- .DEVELOPERPROFILE Xcode Developer Profile
- .DEVELVE Develve Data Format
- .DEPEND Code::Blocks Dependencies Format
- .DEV Windows Device Driver Format
- .DEP Windows Dependency Format
- .DEE Creator Simulator Description
Источник: submitfile.com
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
image_description / README.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
55 lines (40 sloc) 6.49 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
Текстовое описание объектов на изображениях
Постановка задачи: необходимо обучить сеть таким образом, чтобы она могла давать текстовое описание представленному изображению. Например: кошка лежит на лавке, человек держит телефон. Работа сделала на основе NeuralTalk — это приложение, работающее по принципу нейронных сетей, основанное на разработках Стендфордского Университета и Google. NeuralTalk способно проанализировать комплексное изображение и точно определить, что на нём происходит, описав всё увиденное разговорным человеческим языком.
Входные данные представляют собой набор изображений и 5 предложений на английском языке, описывающие эти изображения. В частности мы используем базу с примерами Flickr8K (6000 изображений) и MSCOCO (82783 изображений). Для каждого изображения извлекается вектор CNN признаков с помощью 16-слойной VGG.
Модель основана на сверточной нейронной сети, которая работает с изображением в рекуррентной нейронной сети и преобразует его в компактное представление. А уже с помощью рекуррентной нейронной сети генерируется соответствующее предложение. Задача разбивается на две стадии:
- Подпрограмма находит на фотографии объекты и классифицирует их на основе слов из существующего словаря.
- Другая подпрограмма подбирает описательные слова к разным регионам фотографии и затем объединяет их в предложения.
Для сравнения мы взяли обученные модели здесь. В обоих случаях для характеристики СNN используется VGGNet. Для генерации предложений был использован метод BeamSearch (последовательное рассмотрение наборов из beam лучших предложений). Для первой модели брали beam = 20, а для второй — beam = 1 (жадный поиск). LSTM обучается на данных COCO с 512 скрытым слоями.
В результате работы на выходе каждой сети получаем картинку с текстовым описанием и значение уверенности сети в результате. Например:
Если этот уровень низкий (например, -10), это означает, что модель путается с изображением и, скорее всего, не будет делать очень хороших прогнозов. И наоборот, более высокие цифры (такие как -7) указывают на то, что модель относительно более уверенна в исходе.
Для оценки работы моделей используется показатель, используемый в машинном переводе для оценки качества сгенерированных предложений – BLEU (Bilingual Evaluation Understudy). Он определяет процент n-грамм (n может быть от 1 до 7), совпавших в машинном переводе и эталонном переводе предложения. Вручную обычно оценивают по 5-балльной шкале два показателя: передача смысла (Adequacy) и гладкость речи (Fluency).
Подробнее результаты представлены в нашей презентации в папке presentation.
Основной код находится в файле image_captioning.ipynb . С помощью этой программы можно оценить изображения, которые лежит в папке example_images . В этой же папке в файле tasks.txt лежит список изображений и файл vgg_feats.mat с матрицей признаков для каждого изображения. По умолчанию код работает с моделью натренированной на базе Flickr8K. Но для наглядности результата мы поместили в папку резуьтат для двух наборов данных. Для того, чтобы самостоятельно протестировать результат на той или иной моделе необходимо поменять название файла. Результат работы сети сохраняется в JSON файл (result_struct.json) и имеет следующую структуру:
Путь до изображения, текст и уровень уверенности. Для наглядной визуализации результат так же записывается в html файл ( result.html ).
Источник: github.com
Расширение файла DESCRIPTION
DESCRIPTION суффикс имени файла в основном используется для Multilizer PDF Translator Description файлов. Формат файла DESCRIPTION совместим с программным обеспечением, которое может быть установлено на системной платформе Windows. DESCRIPTION формат файла, наряду с #NUMEXTENSIONS # другими форматами файлов, относится к категории Другие файлы. Самым популярным программным обеспечением, поддерживающим DESCRIPTION файлы, является Multilizer PDF Translator.
Программы, которые поддерживают DESCRIPTION расширение файла
Ниже приведена таблица со списком программ, которые поддерживают DESCRIPTION файлы. Файлы с расширением DESCRIPTION, как и любые другие форматы файлов, можно найти в любой операционной системе. Указанные файлы могут быть переданы на другие устройства, будь то мобильные или стационарные, но не все системы могут быть способны правильно обрабатывать такие файлы.
Программы, обслуживающие файл DESCRIPTION
Windows
Как открыть файл DESCRIPTION?
Отсутствие возможности открывать файлы с расширением DESCRIPTION может иметь различное происхождение. К счастью, наиболее распространенные проблемы с файлами DESCRIPTION могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Мы подготовили список, который поможет вам решить ваши проблемы с файлами DESCRIPTION.
Шаг 1. Скачайте и установите Multilizer PDF Translator
Наиболее распространенной причиной таких проблем является отсутствие соответствующих приложений, поддерживающих файлы DESCRIPTION, установленные в системе. Решение простое, просто скачайте и установите Multilizer PDF Translator. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Если вы хотите загрузить установщик Multilizer PDF Translator наиболее безопасным способом, мы рекомендуем вам посетить сайт и загрузить его из официальных репозиториев.
Шаг 2. Обновите Multilizer PDF Translator до последней версии
Если у вас уже установлен Multilizer PDF Translator в ваших системах и файлы DESCRIPTION по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Иногда разработчики программного обеспечения вводят новые форматы вместо уже поддерживаемых вместе с новыми версиями своих приложений. Причиной того, что Multilizer PDF Translator не может обрабатывать файлы с DESCRIPTION, может быть то, что программное обеспечение устарело. Самая последняя версия Multilizer PDF Translator обратно совместима и может работать с форматами файлов, поддерживаемыми более старыми версиями программного обеспечения.
Шаг 3. Свяжите файлы Multilizer PDF Translator Description с Multilizer PDF Translator
После установки Multilizer PDF Translator (самой последней версии) убедитесь, что он установлен в качестве приложения по умолчанию для открытия DESCRIPTION файлов. Метод довольно прост и мало меняется в разных операционных системах.
Изменить приложение по умолчанию в Windows
- Нажатие правой кнопки мыши на DESCRIPTION откроет меню, из которого вы должны выбрать опцию Открыть с помощью
- Выберите Выбрать другое приложение → Еще приложения
- Чтобы завершить процесс, выберите Найти другое приложение на этом. и с помощью проводника выберите папку Multilizer PDF Translator. Подтвердите, Всегда использовать это приложение для открытия DESCRIPTION файлы и нажав кнопку OK .
Изменить приложение по умолчанию в Mac OS
- В раскрывающемся меню, нажав на файл с расширением DESCRIPTION, выберите Информация
- Откройте раздел Открыть с помощью, щелкнув его название
- Выберите из списка соответствующую программу и подтвердите, нажав « Изменить для всех» .
- Наконец, это изменение будет применено ко всем файлам с расширением DESCRIPTION должно появиться сообщение. Нажмите кнопку Вперед , чтобы подтвердить свой выбор.
Шаг 4. Убедитесь, что файл DESCRIPTION заполнен и не содержит ошибок
Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным DESCRIPTION файлом. Отсутствие доступа к файлу может быть связано с различными проблемами.
1. DESCRIPTION может быть заражен вредоносным ПО — обязательно проверьте его антивирусом.
Если файл заражен, вредоносная программа, находящаяся в файле DESCRIPTION, препятствует попыткам открыть его. Сканируйте файл DESCRIPTION и ваш компьютер на наличие вредоносных программ или вирусов. Если файл DESCRIPTION действительно заражен, следуйте инструкциям ниже.
2. Убедитесь, что файл с расширением DESCRIPTION завершен и не содержит ошибок
Вы получили DESCRIPTION файл от другого человека? Попросите его / ее отправить еще раз. Возможно, что файл не был должным образом скопирован в хранилище данных и является неполным и поэтому не может быть открыт. Если файл DESCRIPTION был загружен из Интернета только частично, попробуйте загрузить его заново.
3. Убедитесь, что у вас есть соответствующие права доступа
Иногда для доступа к файлам пользователю необходимы права администратора. Войдите в систему, используя учетную запись администратора, и посмотрите, решит ли это проблему.
4. Убедитесь, что в системе достаточно ресурсов для запуска Multilizer PDF Translator
Операционные системы могут иметь достаточно свободных ресурсов для запуска приложения, поддерживающего файлы DESCRIPTION. Закройте все работающие программы и попробуйте открыть файл DESCRIPTION.
5. Убедитесь, что ваша операционная система и драйверы обновлены
Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами Multilizer PDF Translator Description. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами DESCRIPTION, влияющими на более старые версии данного программного обеспечения.
Вы хотите помочь?
Если у Вас есть дополнительная информация о расширение файла DESCRIPTION мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле DESCRIPTION.
Источник: www.file-extension.info
Как считывать и удалять метаданные из ваших фотографий с помощью Python
Те, кто знает Python, могут делать поистине удивительные вещи, например, создавать арт-объекты и игры и красивые карты, полнотекстовую поисковую машину и систему распознавания лиц. Применим Python и для вполне бытовых задач. Сегодня, специально к старту новых потоков курсов Python для веб-разработки и Fullstack-разработчик на Python поделимся с вами туториалом, как считывать, добавлять и удалять EXIF метаданные из фотографий с помощью Python.
Немного очевидного для тех кто не в теме — метаданные в фото
Массовое распространение смартфонов (по сути, портативных, оснащённых датчиками, всегда подключённых к сети компьютеров) привело к двум важным последствиям — влиянию на конфиденциальность и влиянию на безопасность, и это ещё не до конца изучено:
- У большого количества людей есть камера, которая обычно находится в пределах досягаемости.
- По умолчанию фотографии, сделанные на камеру, могут выдавать конфиденциальную информацию, и многие пользователи не подозревают об этом.
Помимо данных изображения фотографии, сделанные с помощью смартфонов и современных цифровых камер, содержат метаданные, которые являются дополнительной информацией о фотографии. Эти метаданные хранятся в формате EXIF (сокращение от EXchangeable Image File format), который является постоянно развивающимся стандартом для информации, добавляемой к цифровым изображениям и звукозаписям.
На фотографиях EXIF может включать такую информацию, как:
- Размеры и плотность пикселей фото.
- Марка и модель устройства, на котором был сделан снимок.
- Масштабирование, диафрагма, вспышка и другие настройки камеры при съёмке фотографии.
- Ориентация устройства при фотографировании.
- Когда было сделано фото.
- Где было сделано фото.
- В каком направлении была обращена камера.
- Высота, на которой был сделан снимок.
Эти метаданные полезны для сортировки, каталогизации и поиска фотографий, поэтому был определён стандарт EXIF. Однако при этом возникают проблемы с конфиденциальностью и безопасностью, которые многие пользователи не принимают во внимание.
Одним из первых предостережений об EXIF является инцидент с конфиденциальностью в 2012 году, связанный с основателем антивирусной компании Джоном Макафи. Это было захватывающее время в жизни Макафи, поскольку он уклонялся от действий правоохранительных органов, но при этом давал журналистам эксклюзивные, пользующиеся большим спросом интервью. Один журналист, которому посчастливилось взять интервью, решил похвастаться своей удачей, опубликовав фотографию Макафи, но предварительно не удалив EXIF-данные. Они и раскрыли местонахождение Макафи и привели к его аресту.
Вы, вероятно, знаете о недавних историях, когда правоохранительные органы арестовывали подозреваемых, используя фотографии, размещённые в социальных сетях, потому что подозреваемые не принимали меры предосторожности и не «очищали» свои данные EXIF в процессе загрузки.
Я подозреваю, что вы как разработчики, заботящиеся о безопасности, вероятно, задаёте себе следующие вопросы:
- Как я могу программно обнаружить и прочитать EXIF-метаданные с фотографии?
- Как я могу программно изменять, добавлять или удалять EXIF-метаданные?
Если на вашем компьютере установлен Python 3.6 или более поздней версии, вы можете узнать это, выполнив приведённые ниже инструкции. Они охватывают пару пакетов Python, которые вы можете включить в свои приложения для извлечения, добавления, изменения или удаления EXIF-данных с фотографий. Попутно вы не только будете использовать свои навыки программирования, но и поработаете детективом!
Модуль exif
Существует ряд модулей Python, которые могут получить доступ к данным EXIF в цифровых фотографиях. В этой статье мы сосредоточимся на exif. Его API настолько питонический, что кажется, будто он является частью языка, а не модулем.
Чтобы установить exif, используйте pip, введя в командной строке следующее:
pip install exif
Если при вводе этой команды выдаётся сообщение об ошибке, попробуйте вместо этого использовать команду pip3 install exif. pip3 — это версия pip, менеджера пакетов Python, специально предназначенная для Python 3.
Если вы не поддерживаете какой-либо код на Python 2, но вам нужно использовать pip3 для установки пакетов Python, то вам следует подумать об обновлении Python.
Загрузка фотографий и проверка их на наличие данных EXIF
Давайте проверим exif в работе. Рассмотрим эти две фотографии, palmtree1.jpg и palmtree2.jpg:
Предположим, вам задали следующие вопросы:
- Были ли эти фотографии сделаны на одно устройство или на разные?
- Какое фото было сделано первым?
- Где были сделаны эти фотографии?
Чтобы ответить на эти вопросы, мы загрузим данные из этих фотографий в объекты exif-Image, а затем будем использовать эти объекты для проверки EXIF-метаданных:
from exif import Image with open(«./images/palm tree 1.jpg», «rb») as palm_1_file: palm_1_image = Image(palm_1_file) with open(«./images/palm tree 2.jpg», «rb») as palm_2_file: palm_2_image = Image(palm_2_file) images = [palm_1_image, palm_2_image]
Код открывает каждый файл только для чтения. Он считывает данные файла в двоичном формате в объект файла, который затем используется для создания экземпляра объекта exif-Image. Наконец, он помещает объекты Image в массив, чтобы мы могли перебирать их, выполняя одни и те же операции с EXIF-метаданными каждой фотографии.
Давайте выполним нашу первую операцию: убедимся, что фото действительно содержат EXIF-данные. Мы сделаем это, проверив свойство has_exif каждого объекта Image. Для каждого изображения, содержащего EXIF-данные, мы будем использовать свойство изображения exif_version, чтобы отобразить версию EXIF:
for index, image in enumerate(images): if image.has_exif: status = f»contains EXIF (version ) information.» else: status = «does not contain any EXIF information.» print(f»Image «)
При запуске этот код даёт следующие результаты:
Image 0 contains EXIF (version 0220) information. Image 1 contains EXIF (version 0232) information.
Теперь мы знаем, что обе фотографии содержат информацию EXIF и используют разные версии EXIF. Скорее всего, эти фотографии были сделаны на разные камеры.
Какие метаданные EXIF доступны на каждой фотографии?
Думайте о EXIF как о структуре данных «ключ-значение», подобной словарю Python. Пары «ключ-значение» EXIF называются тегами, и каждый тег может содержать строковое или числовое значение. В текущем стандарте EXIF (версия 2.32) есть десятки тегов, и каждый — от производителей смартфонов и камер до фотографов — может добавлять свои собственные теги.
Вот полный список тегов EXIF, которые вы, вероятно, найдёте на цифровых фотографиях. Кроме того, тут есть теги, не входящие в стандарт EXIF, но предоставляемые рядом устройств или программного обеспечения.
EXIF — один из тех неформальных форматов, где производители сами выбирают, какие функции они будут реализовывать. Это означает, что фотографии, снятые разными камерами и смартфонами, будут иметь разные наборы тегов EXIF.
Как правило, вы можете рассчитывать на то, что смартфоны встраивают в фотографии, ряд часто используемых тегов EXIF, включая марку и модель смартфона, дату и время, когда была сделана фотография, место, где она была сделана, общие сведения и настройки камеры.
Учитывая различия между устройствами и наличие инструментов для редактирования данных EXIF, первое, что вы должны сделать при работе с EXIF данными фотографии, — это посмотреть, какие теги доступны.
Объекты Image, предоставляемые модулем exif, представляют теги EXIF как свойства этого объекта. Это означает, что вы можете использовать встроенную функцию Python dir() для объекта Image, чтобы увидеть, какие теги EXIF у него есть.
Следующий код отображает список тегов каждого объекта Image в нашем списке изображений:
image_members = [] for image in images: image_members.append(dir(image)) for index, image_member_list in enumerate(image_members): print(f»Image contains members:») print(f»n»)
Вы увидите следующий результат:
Image 0 contains 53 members: [‘_exif_ifd_pointer’, ‘_gps_ifd_pointer’, ‘_segments’, ‘aperture_value’, ‘brightness_value’, ‘color_space’, ‘components_configuration’, ‘datetime’, ‘datetime_digitized’, ‘datetime_original’, ‘delete’, ‘delete_all’, ‘digital_zoom_ratio’, ‘exif_version’, ‘exposure_bias_value’, ‘exposure_mode’, ‘exposure_program’, ‘exposure_time’, ‘f_number’, ‘flash’, ‘flashpix_version’, ‘focal_length’, ‘focal_length_in_35mm_film’, ‘get’, ‘get_file’, ‘get_thumbnail’, ‘gps_altitude’, ‘gps_altitude_ref’, ‘gps_datestamp’, ‘gps_latitude’, ‘gps_latitude_ref’, ‘gps_longitude’, ‘gps_longitude_ref’, ‘has_exif’, ‘light_source’, ‘make’, ‘max_aperture_value’, ‘metering_mode’, ‘model’, ‘orientation’, ‘photographic_sensitivity’, ‘pixel_x_dimension’, ‘pixel_y_dimension’, ‘resolution_unit’, ‘scene_capture_type’, ‘sensing_method’, ‘shutter_speed_value’, ‘subsec_time’, ‘subsec_time_digitized’, ‘subsec_time_original’, ‘white_balance’, ‘x_resolution’, ‘y_resolution’] Image 1 contains 68 members: [», », », », ‘_exif_ifd_pointer’, ‘_gps_ifd_pointer’, ‘_segments’, ‘aperture_value’, ‘brightness_value’, ‘components_configuration’, ‘datetime’, ‘datetime_digitized’, ‘datetime_original’, ‘delete’, ‘delete_all’, ‘exif_version’, ‘exposure_bias_value’, ‘exposure_mode’, ‘exposure_program’, ‘exposure_time’, ‘f_number’, ‘flash’, ‘flashpix_version’, ‘focal_length’, ‘focal_length_in_35mm_film’, ‘get’, ‘get_file’, ‘get_thumbnail’, ‘gps_altitude’, ‘gps_altitude_ref’, ‘gps_dest_bearing’, ‘gps_dest_bearing_ref’, ‘gps_horizontal_positioning_error’, ‘gps_img_direction’, ‘gps_img_direction_ref’, ‘gps_latitude’, ‘gps_latitude_ref’, ‘gps_longitude’, ‘gps_longitude_ref’, ‘gps_speed’, ‘gps_speed_ref’, ‘has_exif’, ‘lens_make’, ‘lens_model’, ‘lens_specification’, ‘make’, ‘maker_note’, ‘metering_mode’, ‘model’, ‘offset_time’, ‘offset_time_digitized’, ‘offset_time_original’, ‘orientation’, ‘photographic_sensitivity’, ‘pixel_x_dimension’, ‘pixel_y_dimension’, ‘resolution_unit’, ‘scene_capture_type’, ‘scene_type’, ‘sensing_method’, ‘shutter_speed_value’, ‘software’, ‘subject_area’, ‘subsec_time_digitized’, ‘subsec_time_original’, ‘white_balance’, ‘x_resolution’, ‘y_resolution’]
Как вы можете видеть, в то время как оба объекта Image имеют много общих тегов, изображение 1 содержит немного больше, чем изображение 0. Это означает, что изображение 1 имеет несколько больше тегов EXIF, чем изображение 0. Это сильный индикатор того, что изображение 0 и изображение изображение 1 было снято на разные устройства.
Вы можете использовать стандартный метод set() для определения общих элементов изображения 0 и изображения 1:
common_members = set(image_members[0]).intersection(set(image_members[1])) common_members_sorted = sorted(list(common_members)) print(«Image 0 and Image 1 have these members in common:») print(f»»)
Запуск этого кода даёт следующий результат:
Image 0 and Image 1 have these members in common: [‘_exif_ifd_pointer’, ‘_gps_ifd_pointer’, ‘_segments’, ‘aperture_value’, ‘brightness_value’, ‘components_configuration’, ‘datetime’, ‘datetime_digitized’, ‘datetime_original’, ‘delete’, ‘delete_all’, ‘exif_version’, ‘exposure_bias_value’, ‘exposure_mode’, ‘exposure_program’, ‘exposure_time’, ‘f_number’, ‘flash’, ‘flashpix_version’, ‘focal_length’, ‘focal_length_in_35mm_film’, ‘get’, ‘get_file’, ‘get_thumbnail’, ‘gps_altitude’, ‘gps_altitude_ref’, ‘gps_latitude’, ‘gps_latitude_ref’, ‘gps_longitude’, ‘gps_longitude_ref’, ‘has_exif’, ‘make’, ‘metering_mode’, ‘model’, ‘orientation’, ‘photographic_sensitivity’, ‘pixel_x_dimension’, ‘pixel_y_dimension’, ‘resolution_unit’, ‘scene_capture_type’, ‘sensing_method’, ‘shutter_speed_value’, ‘subsec_time_digitized’, ‘subsec_time_original’, ‘white_balance’, ‘x_resolution’, ‘y_resolution’]
Если вы смотрели EXIF-теги в документации (либо список стандартных тегов EXIF, либо расширенный список), вы могли заметить, что имена тегов EXIF находятся в PascalCase, а свойства EXIF в объектах exif-Image — в snake_case. Это связано с тем, что авторы модуля exif стремятся следовать руководству по стилю Python и разработали Image для преобразования имён тегов EXIF в имена свойств Python.
Члены класса Image exif, не являющиеся тегами EXIF
Большинство членов класса любых экземпляров изображения будут свойствами, соответствующими тегам EXIF в изображении. Однако есть несколько членов для работы с метаданными EXIF. Они перечислены в таблице ниже:
Члены класса
Описание
Источник: habr.com