Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Алгоритмы совмещения изображений

20.11.24 20:43
Re: Алгоритмы совмещения изображений
 
AlexNek патриот
AlexNek
в ответ wasja-de 20.11.24 18:34
а у вас скалировка и поворот разрешены? А затененность?

Всё проще. Если грубо, то есть сторонняя программа, у которой имеется большая картинка, но она эту картинку может показывать только частично. Картинки могут быть совершенно разных типов от простейших цветных прямоугольников с текстом или просто текст, до типа гоогле мапа со спутника. Могут быть и более сложные варианты, но пока их не рассматриваем.

Часть картинки которую видно можно скопировать, затем отскроллировать и опять скопировать. Направление скроллирования тоже пока ограничил, сверху-вниз и слева-направо.

Таким образом получаем серию скриншотов - задача собрать из них большую картинку. Если бы можно было скроллить автоматом, то проблемы не было бы вообще.


edge detection

Пробовал уже. В OpenCvSharp4 всё уже есть. Громаднейшие погрешности и часто никаких границ не определяется где надо. Это скорее всё для фотографии.

Единственное, что работает, это MSE с повышенной чувствительностью (но из-за чувствительности и медленно). Просто сдвигаем картинку как игральные карты по одной оси вначале, а затем по другой. Сдвиг не в лоб по пикселу смущ


ищем прямоугольничек в маленькой картинке и его Фурьем на большую множим

именно так не делал, но что-то подобное тоже было. Есть в OpenCvSharp4 подобная функция - найти маленькую часть в большой.


Можно иерархически - типа пиксели размазал и большими квадратиками нашел что-то и там дальше внутри ищешь поточнее.

Да, именно так и делаю. Пирамида изображений + грубый поиск + точный поиск по месту. С точным поиском лезем наверх по пирамиде.


Если есть возможность скормить в что-то готовое

OpenCvSharp4 и ImageSharp либы есть. Обе пробовал.

Пока работает только в полуавтоматическом режиме, так как 100% совмещение удается не всегда.

В Snagit есть подобная функция, но работает она очень плохо. И теперь стало понятно почему.


до этого этими задачами не занимался.

совершенно не интересовало, не нужно было. Да и то, искал задачу для теста ИИ и решил выбрать эту. Самостоятельно всё бы не перепробовал.

Но зато теперь есть что-то, что как-то работает. Потихоньку можно возвращаться и улучать.


Спасибо

 

Перейти на