align (796211), страница 2
Текст из файла (страница 2)
Баллы будутдаваться только тем решениям, которые выполняют дополнение изображения до прохода фильтромпо изображению.3.6Поиск смещения с субпиксельной точностью (1 балл)Поиск сдвига с субпиксельной точностью означает, что каждому пикселю соответствует k субпикселей(например, k = 2) и поиск сдвига проводится с точностью до субпикселя. На практике достаточноувеличить масштабировать изображение в k раз и произвести обычный поиск сдвига, а затемсовмещенное изображение уменьшить обратно в k раз.4Среда программирования и устройство каркасаДля упрощения выполнения задания под Windows вам предлагаются файл cygwin.exe. Это самораспаковывающийся архив, в нём находится cygwin — среда программирования с gcc.
Разархивируйте cygwin.exe и запустите сценарий Cygwin.bat. Откроется консоль и вы окажетесь в папке/home/<username>. Скопируйте в эту папку архив align_project.tar.gz с каркасом задания и разархивируйте командой tar xvf align_project.tar.gz; Зайдите в папку проекта, введя в консоликоманду cd align_project. Запустите сценарий компиляции командой make all.
В папке build/binпоявятся исполняемыe файлы. Их можно запустить из консоли командой ./build/bin/<имя файла> .Удалить все скомпилированные файлы можно командой make clean .Если вы используете Linux, то вам будет достаточно поставить gcc и GNU make.• src — директория с исходным кодом в формате .cpp. Здесь особенно интересен файлmatrix_example.cpp, в котором показан пример свертки с фильтром, суммирующим окрестностьпикселя.• include — директория с заголовочными файлами. Здесь интересны файлы matrix.h — объявлениекласса матрицы и matrix.hpp — шаблонная реализация этого класса.• externals — директория с исходными кодами библиотек. Здесь же библиотеки компилируются.В каркасе есть только одна библиотека, с помощью которой загружаются изображения вформате BMP.5• bridge — директория, в которую добавляются заголовочные файлы и скомпилированныебиблиотеки для импорта в основной проект.• build/bin — директория, в которой сохраняются выполняемые файлы компиляции (т.е.
послетого, как отработала команда make all).Вы можете выполнить задание в Visual Studio, но при посылке в проверяющую систему вашпроект должен иметь сценарий компиляций на языке GNU make, а также без ошибок собираться спомощью gcc.Ваша программа не должна выполнять никаких сетевых взаимодействий, в противном случаеона будет дисквалифицирована без права пересдачи. Использовать параллелизм в рамках базовогозадания не рекомендуется — программа будет запускаться с выделением одного логического процессора. Это необходимо для того, чтобы мы могли сравнивать произодительность ваших программ сточки зрения эффективности реализованных алгоритмов.5Аргументы командной строкиВ каркасе прописаны все необходимые опции программы, которые будут использоваться при проверке.Для проверки базовой части команда выглядит следующим образом (при вызове из папки build/bin/):./align <путь к входному изображению> <путь к результирующему изображению> --alignДля проверки заданий бонусной части добавлены, например, следующие опции:--bicubic-interp после опции --align, которая будет включать бикубическую интерполяцию;--subpixel <k> после опции --align, которая будет включать субпиксельное совмещение изображений;--white-balance в двух вариантах: после опции --align и отдельно для обработки обычныхтрехканальных изображений;--median <radius>, --median-linear <radius>, --median-const <radius> — опции для сглаживания изображения медианным фильтром (используются только для обработки изображения).Более подробную документацию и список всех опций можно получить, вызвав ./align --help изbuild/bin/.6Сдача и проверка заданийДля сдачи задания выполните команду make clean в папке проекта, перейдите на папку выше командой cd ..
и заархивирует папку с проектом командой tar cvzf solution.tar.gz align_project.Полученный архив solution.tar.gz нужно послать в проверяющую систему. Исполняемые программыили скомпилированные библиотеки прикладывать в архив не нужно, сборка будет производится нанашей стороне.Срок сдачи: 23 сентября (23:59), после этой даты начинается начисление штрафных баллов (запервые двое суток по -0.5 баллов, далее по -1 баллу за сутки).
Программы, присланные после30 сентября (23:59) проверяться не будут. Такие сроки сдачи нужны для того, чтобы мы моглиоперативно проверить ваши программы. Проверка проходит в два этапа:1. Автоматизированный прогон вашей программы на тестах. Занимает от 1 дня до недели.62. Личное собеседование по коду вашей программы и обсуждение реализованных алгоритмов.Время и аудитория, в которой будут проходить собеседования, будут сообщены отдельно.Все задания проверяются только на нашем компьютере. Мы не будем смотреть выполненное заданиена вашем ноутбуке.Данные для тестирования — 6 картинок в двух вариантах: small и big для тестирования базовойреализации и реализации с пирамидой соответственно. Время работы пирамиды на одной картинкене должно превышать 20 секунд.
Кроме того, совмещение должно проходить достаточно качественно— не должно быть явно видимых сдвигов (т.е. сдвигов величиной больше 10 пикселей).7Полезные ресурсыВыставка о Прокудине-Горском на сайте библиотеки конгресса.7.















