Используя двумерную кросс-корреляцию (свертку) найдите шаблон на изображении.
-
(Опционально) Реализуйте функцию
cross_correlation(I, K)
в наивной форме при помощи вложенных циклов:- в качестве входных данных функция принимает две матрицы - изображение
I
и ядроK
; - допущение: ядро по размерности симметричное и нечетное (например, 3x3 или 11x11);
- на выходе должно быть изображение - результат применения кросс-корреляции;
- выходное изображение должно быть одинакового размера с исходным
I
(незатронутые границы сделайте черными или белыми).
- в качестве входных данных функция принимает две матрицы - изображение
-
Самостоятельно найдите и используйте возможности языка программирования (библиотеки) для реализации функции кросс-корреляции
cross_correlation_alt(I, K)
:- в качестве входных данных функция принимает две матрицы - изображение
I
и ядроK
; - примечание: ядро может иметь практически любые нечетные размеры (например, 43x51);
- выходное изображение должно быть одинакового размера с исходным
I
(незатронутые границы сделайте черными или белыми).
- в качестве входных данных функция принимает две матрицы - изображение
-
Реализуйте функцию
bounding_box(I, top_left_x, top_left_y, bottom_right_x, bottom_right_y)
, которая- возвращает прямоугольный участок изображения в виде еще одного изображения;
- на вход функция принимает левый верхний и правый нижний угол прямоугольника.
-
Постарайтесь вручную подобрать коордианты так, чтобы вычленить какой-либо объект на изображении.
Дальше на английском ...
Cross-correlation can be used to look for templates in the images.
Note!
The template is located in the 1st row of the shelf (the 2nd element from the left).
Question. Is it able to detect the template correctly?
Figure 1. Shelf (with cereals for a good breakfast)
Figure 2. Template (cereals)
Compute and subtract the mean value of the template so that it has zero mean.
Implement a norm_cross_correlation
function - normalize the pixels of the image and template at every step before comparing them).
Check the result on the dark shelf image.
Figure 3. Dark shelf (everything has its dark side)
- за помощью можно обращаться к друг другу и даже работать вместе;
- в папке demo есть примеры ноутбуков и кода на Matlab.