Программа На языке программирования С# с использованием библиотеки opencv. На тему: "Особые точки на изображении".
Требования:Нужно взять несколько алгоритмов нахождения особых точек и проверить как они себя ведут при:
- изменении размера,
- сдвигах изображения,
- сдвиг + поворот + растяжение,
- сдвиг цветов
- Сглаживании с радиусом r=0, 1, …, 20.
- Изменении размера изображения до k% от первоначального, k=10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 150, 175, 200, 250, 300, 350, 400, 450, 500.
- Сжатии jpeg с качеством q=5, 10, 20, 30, 40, 50, 60, 70, 75, 80, 85, 90, 95, 100.
Принцип работы приложения :
Мы загружаем оба изображения. Находим особые точки и вычисляем их дескрипторы. В результате получаем 2 "списка" особых точек и 2 "списка" их дескрипторов: keypoints1, keypoints2, descriptors2, descriptors2, при этом keypoints1, keypoints2 – это векторы, содержащие номера особых точек, а descriptors2, descriptors2 – матрицы, строки которых содержат их дескрипторы.После этого, сравнивая каждый набор дескрипторов из первого изображения, с каждым таким набором из второго изображения, находим наилучшее соответствие между особыми точками.Далее находим матрицу наилучшего перспективного преобразования (гомографии), осуществляющую это соответствие.этот метод работает также для склейки панорам, если снимаемая сцена (например пейзаж) находится достаточно далеко от точки съемки, чтобы считать ее плоской.
Для корректной работы программы нужно установить opencv - вот ссылка, где все хорошо описано. http://www.learnopencv.com/install-opencv3-on-windows/ . (Примечание: исходники opencv и opencv-contrib надо брать с гитхаба, последние версии).
После приобретения работы Вы получите на почту:
- исходный код данной программы на языке программирования С# для Visual Studio
klausms