Каковы предпосылки для понимания программы дескриптора Фурье в Matlab?

Я новичок в области цифровой обработки изображений, и мне нужно смоделировать программу дескриптора Фурье, которая является аффинно-инвариантной, я хочу знать предпосылки, необходимые для понимания этой программы, мой справочник - цифровая обработка изображений с использованием MATLAB Гонсалеса, я видел вопрос на этом сайте, касающийся той же программы, но не в состоянии понять программу и решение, вопрос говорит:

"Я использую функцию Гонсалеса frdescp, чтобы получить дескрипторы Фурье границы. Я использую этот код, и я получаю два совершенно разных набора чисел, описывающих два одинаковых, но разных по масштабу форм.

Так что не так?

Может ли какой-нибудь орган помочь мне узнать предпосылки для понимания этой программы, а также помочь мне в дальнейшем?

1 ответ

Решение

Позвольте мне попробовать это, поскольку мне придется использовать английскую, а не математическую нотацию. Во-первых, это документация frdescp показано здесь. frdescp принимает один аргумент, который является матрицей чисел n на 2. Что это за цифры? Это требует некоторого понимания математической основы дескрипторов Фурье. До вычисления дескрипторов Фурье предполагается, что у вас есть контур объекта, и у вас есть некоторые точки на этом контуре. Так, например, контур показан на этой картинке:

автомобиль

Вы видите эту черную линию на изображении? Здесь вы выберете список точек, идущих по часовой стрелке от контура. Давайте назовем этот вектор {(x_1, y_1), (x_2,y_2),...,(x_n,y_n)}. Теперь, когда у нас есть эти точки, мы готовы вычислить дескрипторы Фурье этого контура. Сложный дескриптор Фурье, реализованный в этой функции Matlab, требует, чтобы числа находились в комплексной области. Таким образом, вы должны преобразовать числа в нашем списке в комплексные числа, это легко, так как вы можете преобразовать кортеж вещественных чисел в 2D (x,y) в x + iy в комплексной плоскости. Однако, Matlab функция уже делает это для вас. Но теперь вы знаете, для чего предназначена матрица n 2, это просто список x и y на контуре. После этого функция matlab принимает дискретное преобразование Фурье, и вы получаете дескрипторы. Преимущество этого дескрипторного бизнеса заключается в том, что он инвариантен при определенных геометрических преобразованиях, таких как перемещение, вращение и масштабирование. Я надеюсь, что это было полезно.

Другие вопросы по тегам