Подтвердить что ты не робот

Значение семи инвариантных моментов Hu от OpenCV

Я понимаю, что семь hu-инвариантных моментов предназначены для перевода, вращения и изменения масштаба объекта, чтобы независимо распознать объект этими факторами.

Вот почему я использовал функцию "моменты" из OpenCV для извлечения центральных моментов, затем я использовал функцию HuMoments для получения семи инвариантных моментов следующего бинаризованного изображения:

enter image description here

Мой первый вопрос касается использования функции "моменты" из OpenCV. Второй параметр - "binaryImage", и я устанавливаю его true, потому что это двоичное изображение, нормально?

Мое второе сомнение касается вывода функции "HuMoments": семь инвариантных моментов hu. Я не понимаю этих данных. какие данные связаны с ротацией, что для перевода и что для изменения масштаба?

Большое спасибо!, приветствия!

4b9b3361

Ответ 1

Первый вопрос:

Это нормально, так как у вас есть единственный объект на изображении. Если больше объектов и хотите найти моменты для каждого, используйте контуры. Посещение: http://opencvpython.blogspot.in/2012/06/contours-3-extraction.html

Второй вопрос:

(Я тоже об этом думаю, увидев ваши вопросы)

HuMoments были выявлены г-ном Мином Куэй Ху в его статье "" Распознавание визуальных образов с помощью инвариантов моментов" в 1962 году.

В этой статье он объясняет их (конечно, с помощью высокого математического содержания). Вы можете проверить это, если вам нужно.

Он утверждает:

Теорема. Центральными моментами являются инварианты относительно сдвига.

Когда вы находите моменты, используя функцию moment(), он возвращает три типа моментов, spatial moments (Mji), Central Moments (MUji) and Central Normalized Moments ( NUji). Проверьте документы моменты()

В конце раздела 4-C Ху утверждает, что из семи отношений (Посетите здесь, чтобы увидеть их), первые шесть инвариант к сдвигу, размеру и вращению, а seventh one is skew invariant, which helps to distinguish mirror images.

Я много искал, что означает значения Hu Moments. Но все документы говорят в том же диалоговом окне: " Seven Hu Moments are calculated from Central Moments which are invariant to size, position and orientation ". Они не говорят, что означают отдельные значения.

И классическая книга OpenCV "Learning OpenCV" г-на Гари Брэдски дала некоторые идеи, которые говорят нам, чтобы исследовать больше. (См. стр. 254)

Ответ 2

Чтобы ответить на второй вопрос:

Я не думаю, что инвариантные моменты имеют какой-то смысл. Они просто гарантированно постоянны для данной формы, независимо от того, как она сдвигается, поворачивается или масштабируется.

То, что вы чувствуете, как будто хотите узнать о них:

какие данные связаны с вращением, что для перевода и для изменения масштаба?

не имеет смысла, поскольку по определению все они не связаны с вращением, трансляцией и масштабированием. Однако однажды можно было легко задать аналогичный вопрос, но для других свойств, например:

какие данные связаны с отношением углов, округлости или ширины к высоте?

Здесь я думаю, что очевидно, что эти моменты не относятся к какому-либо произвольному свойству, к которому он хотел бы относиться, поэтому ответ снова не имеет смысла.

Итак, где это нас покидает? С этим: если мы хотим сравнить два объекта, чтобы определить, похож ли их "форма" (и "форма" означает, что нас не волнуют изменения вращения, трансляции и масштаба), мы можем вычислить hu-инвариантные моменты и сравнить их. Если эти значения "приблизительно" равны, то можно с уверенностью сказать, что фигуры "примерно" одинаковы. Тогда можно надеяться, что эти моменты будут разнятся между разными формами - и будут ли они делать или нет, это интересный вопрос, который может кто-то может ответить.

Например, предположим, что мы вычисляем некоторые из моментов (показываем только три и с диапазонами от 0 до 1 для простоты) квадрата:

(0.5, 0.5, 0.5)

Тогда мы надеемся, что круг даст что-то вроде:

(0.5, 1, 0.5)

И овал:

(0.5, 1, 0.7)

Это может позволить вам сравнить эти фигуры. Если вы подсчитаете моменты неизвестной формы и получите:

(0.51, 0.98, 0.47)

это возможно (надеюсь) круг. Если, однако, звезда дала вам:

(0.2, 0.6, 0.9)

и полумесяц тоже дали то же самое, что было бы не так полезно. Однако с семью моментами, по крайней мере, несколько моментов могут существенно отличаться для того, что мы можем рассматривать как важные особенности фигуры.

Надеюсь, что это поможет.