Как и у многих из нас, у меня есть тысячи фотографий, которые я хотел бы отсканировать.  Я размышлял над процессом выполнения этого и вижу огромную задачу.  Одной из болевых точек, которую я определил, является необходимость размещать каждое изображение отдельно на стекле для сканирования.
Меня интересует, существует ли какое-либо программное обеспечение с открытым исходным кодом, которое при сканировании нескольких изображений автоматически идентифицирует отдельные фотографии и предлагает сохранить их отдельно.
В настоящее время у меня есть принтер / сканер HP Photosmart, и я хотел бы использовать его, если это возможно.
2 ответа
Функция обработки программного обеспечения, которую вы ищете, называется сегментацией изображения. По крайней мере, под Linux я пока не знаю правильного решения. (Существует сценарий проверки сегмента сегментного изображения, основанный на ImageMagick - см. Также.)
Когда вы свободно размещаете свои фотографии на сканере, вам понадобится автоматическая сегментация и выкручивание, и оба варианта кажутся сложными с доступным бесплатным программным обеспечением, соответственно. часто требуют ручной постобработки. Кроме того, многие сканеры обладают раздражающим свойством того, что (0,0) пиксель находится на расстоянии нескольких миллиметров от угла стекла, что приводит к обрезке при размещении фотографий прямо по краю.
Так как насчет этого:
Предлагаемая альтернатива: сканирование с использованием шаблонов, разделение с помощью Image Magick
- Постройте несколько картонных шаблонов с вырезами для нескольких фотографий, чтобы разместить их на стекле сканера. Некоторые намеки: - Расположите шаблон на стекле сканера, чтобы он не мог двигаться, при необходимости приклеив его к одному краю.
- Поскольку ваши фотографии будут иметь несколько стандартных размеров, вам будет достаточно нескольких шаблонов.
- Создавайте шаблоны, чтобы максимизировать охват фотографиями. Это может означать поворот их на 90 градусов (для автоматической коррекции с помощью приведенных ниже команд сканирования) и комбинирование фотографий разных размеров.
- Область, покрытая фотографиями, должна быть прямоугольной, с минимальным пространством внутри, не покрытым фотографиями. Потому что сканирование этого пространства будет тратить время позже.
 
- Определите область для сканирования. Это должна быть прямоугольная область, содержащая все ваши фотографии. Чтобы получить его смещения и размер, например, используйте XSane для создания предварительного просмотра, выберите область сканирования и найдите значения в «Окно → Показать дополнительные параметры». 
- Пакетное сканирование фотоколлажей. Вы хотите сохранить каждый фотоколлаж как один большой файл изображения каждый, но сканировать несколько таких коллажей в пакетном процессе. Для Linux мне нравится - scanimageс опцией- --batch- вы просто нажимаете Enter, чтобы получить и сохранить следующее сканирование. Используйте- scanimage -Aчтобы найти специфичные для устройства параметры для ограничения области сканирования и установить для них значения, определенные на последнем шаге.
- Разделите фотоколлажи на отдельные изображения. Для этого используйте ImageMagick, поворачивая изображения там, где это необходимо. В Linux небольшой сценарий оболочки может сделать это для всех изображений, отсканированных по одному и тому же картонному шаблону. Как этот, обработка файлов с именем - collage-001.jpg,- collage-002.jpgт. Д .: (осторожно, не проверено!)- for file in collage-*.jpg; do convert "$file" \ -crop '1000x1500+0+0' -rotate 90 +write ${file/.jpg/.img1.jpg} \ -crop '1000x1500+1000+0' -rotate 90 +write ${file/.jpg/.img2.jpg} \ null:; done- Источники: этот ответ , который дополнительно имеет технику для изображений, не вписывающихся в память; этот пост, чтобы объяснить - null:документы для -crop , -rotate и +write.
Другая альтернатива: пакетное сканирование XSane. Я также попытался использовать функцию пакетного сканирования XSane . Позволяет определить несколько областей сканирования на странице (см. «Окно → Показать пакетное сканирование»), в т.ч. параметры поворота на область сканирования. Таким образом, вы можете создать (и даже сохранить) одно определение области сканирования для каждого шаблона картона и нажать "Список пакетов сканирования", чтобы получить несколько изображений из шаблона. Однако для большого набора изображений это происходит намного медленнее, поскольку сканер вернется в нулевое положение после обработки одной области сканирования. (По крайней мере, это происходит с моим сканером. Не знаю, есть ли сканеры, где функции SANE могут избежать этого шага возврата к нулю, но я сомневаюсь в этом.)
Многие сканеры и все в одном устройстве имеют эту функцию. Я не хочу делать предложения о покупках, но быстрый поиск в Epson, Kodak (все еще рядом) и HP, как начало, может дать вам направление. Обычно вы можете поместить несколько фотографий на планшет, и программа сортирует отдельные изображения. Есть также некоторые устройства, которые имеют устройство подачи документов
Кажется, есть несколько вариантов программного обеспечения, как отмечено в комментариях. Фотошоп позволит вам отсканировать несколько фотографий, а затем разделить их. Эта ссылка для сканирования в Photoshop объясняет более подробно. Дополнительным преимуществом является то, что Photoshop также отлично подходит для работы с изображениями отдельно. Элементы Photoshop имеют такую же функцию и более дешевые элементы
Там наверняка будет много других решений
