Автоматическая и интеллектуальная обрезка 1000 изображений

введите описание изображения здесьУ меня есть около 1000 отсканированных / сфотографированных изображений, каждое из которых имеет разные форматы, но все имеют прямоугольную / квадратную форму, которые необходимо обрезать, чтобы удалить фон и белое пространство вокруг изображений. Обрезка должна быть выполнена разумно, например, путем определения фона (деревянный стол / коричневый цветовой диапазон) и белого пространства вокруг каждой фотографии, желательно повернутого в вертикальное/горизонтальное положение (макс. несколько градусов) и кадрированного до прямоугольного формата. .

Я ожидаю, что в наши дни искусственного интеллекта с программным обеспечением, которое распознает лица, есть программное приложение для этого, но после нескольких часов поиска я не смог его найти. Я прочитал несколько статей на этом форуме и в других местах в Интернете и попробовал несколько вариантов, но ни один из них не работает должным образом:

  • Функция автоматической обрезки и выпрямления Photoshop (в пакетном режиме) исправляет менее 10% изображений и постоянно требует ручного вмешательства. Он также создает несколько обрезанных изображений артефактов с крошечными обрезанными областями и не может понять, какое из них сохранить;
  • Обрезка GIMP (как описано Франсуа Маланом) работает только для отделения изображений от одной отсканированной страницы, а не для обрезки множества отдельных изображений;
  • Irfanview не может разумно находить границы, поэтому бесполезен;
  • ImageMagic (и многие другие приложения), которые я пробовал, также не имеют этой автоматической возможности.

Все эти программы, включая Photoshop, хороши, если вы хотите обрезать с использованием фиксированных позиций и/или форматов, но ни одна из них, похоже, не обладает интеллектом, чтобы найти белые края изображения и использовать их для обрезки. Обрезка 1000 изображений вручную (с поддержкой Photoshop) займет у меня, вероятно, около 30 часов работы (по 2 минуты на каждое, включая некоторое выравнивание).

Любое предложение? Ключевым темам в stackexchange уже несколько лет, поэтому, возможно, есть новое приложение, которое может справиться с этим без ручного вмешательства. Учитывая потенциальную экономию времени, я не возражаю платить за программное обеспечение, которое выполняет свою работу должным образом. В худшем случае я буду перефотографировать все изображения, потратив на каждое изображение около 10-15 секунд, чтобы убедиться, что они выровнены по горизонтали, и обрезать их во время фотосъемки (или отправить их кому-то в стране с низким уровнем заработной платы, чтобы сделать это за мне :-)). Ваше здоровье

Google делает то, что вы описываете в своем приложении PhotoScan, но они не выпустили ничего, что работало бы с уже существующими файлами изображений.
Половина проблемы в том, что фотография не квадратная и даже не плоская. Вам понадобится что-то, что может либо «умно обрезать перспективу», либо научиться, по сути, недосканировать, чтобы выровнять их.
Это иллюстрирует важность не только установки камеры при использовании камеры в качестве сканера, но и необходимости использования мольберта, чтобы изображения были плоскими и находились в одном и том же месте.
Подход PhotoScan великолепен. Приложение было бы чрезвычайно полезным, если бы оно имело высокую частоту пикселей, правильную коррекцию, низкий уровень искажений и правильную резкость и контрастность. К сожалению, настоящее приложение не имеет ничего из этого и подходит только для использования в социальных сетях с низким разрешением. Я сомневаюсь, что Google заинтересован в расширении этого умного приложения для более профессионального использования...
Точка взята для создания правильной установки. Небольшое дополнительное время, потраченное на начальное сканирование, экономит массу работы после обработки. К счастью, у меня есть возможность переделать эти изображения и сразу выпрямить/обрезать их. По своей наивности я предполагал, что в любой приличной программе для работы с изображениями и, конечно, в Photoshop есть инструмент для исправления этой ошибки. Я возлагал слишком большие надежды на возможности ИИ...

Ответы (3)

Промежуточное решение с Gimp, которое обрезает и выпрямляет изображения, предполагая, что все ваши изображения пронумерованы в каком-то каталоге ( , , IMG_2027.JPGпока IMG_2028.JPGесть идентифицируемый суффикс номера, у вас могут даже отсутствовать номера).

  1. установите ofn-file-nextскрипт и используйте Edit>Keyboard shortcuts, чтобы назначить его клавише.
  2. Файл>Открыть первое изображение
  3. Запустите инструмент «Перспектива» и установите его на Direction: CorrectiveиClipping: Clip
  4. Нажмите на изображение и перетащите четыре угловых маркера в четыре угла вашего изображения.
  5. Нажмите [Enter] (изображение обрезается/выпрямляется)
  6. Нажмите File>Nextярлык: изображение сохраняется, и открывается следующее по порядку изображение.
  7. Повторить с шага 4

После нескольких изображений вы можете быть такими же быстрыми, как 10-15 секунд на изображение...

Для прямых фотографий вы можете использовать инструмент обрезки. Если вы знаете фактическое соотношение сторон (3:2?), изображения могут быть масштабированы в пакетном режиме с помощью скрипта на следующем шаге, или вы можете дополнить исходные изображения до требуемого соотношения сторон (также с помощью скрипта) перед обрезкой/выпрямлением. (немного лучшего качества).
Ты прав. Решение действительно состоит в том, чтобы сначала сделать базовую обрезку, а затем инструмент «Перспектива», тем самым добавив время. Из-за отсутствия у меня стандартной настройки все изображения уникальны. Ключевое обучение: а) очевидно, что для этого нет умного инструмента, и б) правильная настройка является ключом.

Я создал бесплатный веб-сайт ( https://www.autocropper.io/ ), который автоматически обрезает отдельные фотографии из отсканированных изображений. Он работает через Python OpenCV и специально ищет прямоугольные формы, окруженные белыми краями. Вот пример сканирования с 4 фотографиями:

введите описание изображения здесь

Я проверил ваш пример изображения, и он обнаружил изображение:

autoCropper.io с вашим примером img

Вы можете загрузить 10 сканов за раз. Если у вас есть другие примеры изображений с разным фоном, поделитесь ими, и я смогу лучше понять ваш вариант использования. Первоначально он был создан для цифровых отсканированных изображений, а не для реальных изображений.

Загрузка не требуется, это приложение в браузере. Я много писал о том, как работает мой алгоритм обнаружения изображений с использованием Python OpenCV, если вы хотите запустить его локально. Смотрите здесь https://www.autocropper.io/technical-overview

Спасибо, что сообщили, что создали инструмент. Очень ценю! И добро пожаловать в Photo-SE. "="

Я проверил ваше сканирование с помощью приложения SnipTag для Mac . Это приложение имеет 2 механизма обрезки: оба корректно автоматически обрезают изображение, но не поворачивают его в вертикальное положение. SnipTag (и его двоюродный брат, Snip ) может обрезать сканы в пакетном режиме, т.е. вы можете отправлять десятки сканов за раз. Кроме того, если вы снимаете несколько фотографий за одно сканирование, они обрезаются и сохраняются по отдельности. Это помогает, если вы сканируете в соответствии с рекомендациями, включенными в приложение. Скан, обрезанный двумя двигателями, внизу справаОба приложения можно попробовать бесплатно [Раскрытие информации: я занимаюсь обслуживанием клиентов в AIL, разработчике этих приложений.]

Да, я занимаюсь обслуживанием клиентов. И извините, в своем энтузиазме ответить на вопрос, относящийся к этому приложению, я пропустил протокол раскрытия информации. Только что получил наказание за это и внутри. Отредактировал ответ выше.
Спасибо за обновление и раскрытие. Очень признателен! "="