Скользящее суммирование элементов матрицы
Добавлено: 06 ноя 2019, 12:48
Добрый день.
Помогите пожалуйста найти решение.
Имеется следующая задача:
По матрице (яркости, нормированной) полученной из изображения необходимо произвести скользящее суммирование (так называемое суммирование). Получив новую выходную матрицу построить изображение
Разрешение изображение непостоянно - т.е. размер матрицы может изменятся.
Размер аппертуры так же может меняться (но матрица аппертуры квадратная).
Для решения задачи пытаюсь использовать Array Subset для выделения субматрицы (по размеру аппертуры), два цикла (внутренний для перемещения субматрицы по столбцам (вдоль строки), внешний для перемещения по строкам) для формирования выходной матрицы применяю Insert Into Array. В программе осуществлена попытка реализации только части аппертуры (при такой реализации потом придеться опять организовывть двойной цикл что бы сложение элементов производить по строкам).
Столкнулся с массой проблем:
1) В выходной матрице в конце строки появляются дополнительные элементы которых быть не должно
2) Начиная со второй строки начальные элементы не суммируются а просто копируются, с ростом номера строки количество этих элементов увеличивается.
3) Ни как не могу разобраться с тем как задать дискретный шаг перемещения аппертуры. т.е. у в первой строке у меня суммируются соседние элементы: 1+2 ; 2+3 ; 3+4... а должны только 1+2 ; 3+4. Если добавить суммирование счетчика итераций i + размер аппертуры будет пропущено начальное значение (и дискретный шаг суммирования элементов все равно у меня увы не получился)
Помогите пожалуйста найти решение.
Имеется следующая задача:
По матрице (яркости, нормированной) полученной из изображения необходимо произвести скользящее суммирование (так называемое суммирование). Получив новую выходную матрицу построить изображение
Разрешение изображение непостоянно - т.е. размер матрицы может изменятся.
Размер аппертуры так же может меняться (но матрица аппертуры квадратная).
Для решения задачи пытаюсь использовать Array Subset для выделения субматрицы (по размеру аппертуры), два цикла (внутренний для перемещения субматрицы по столбцам (вдоль строки), внешний для перемещения по строкам) для формирования выходной матрицы применяю Insert Into Array. В программе осуществлена попытка реализации только части аппертуры (при такой реализации потом придеться опять организовывть двойной цикл что бы сложение элементов производить по строкам).
Столкнулся с массой проблем:
1) В выходной матрице в конце строки появляются дополнительные элементы которых быть не должно
2) Начиная со второй строки начальные элементы не суммируются а просто копируются, с ростом номера строки количество этих элементов увеличивается.
3) Ни как не могу разобраться с тем как задать дискретный шаг перемещения аппертуры. т.е. у в первой строке у меня суммируются соседние элементы: 1+2 ; 2+3 ; 3+4... а должны только 1+2 ; 3+4. Если добавить суммирование счетчика итераций i + размер аппертуры будет пропущено начальное значение (и дискретный шаг суммирования элементов все равно у меня увы не получился)