Contorno y área, momentos de imagen en bruto (espacial) y central

9

Recientemente comencé a usar momentos de imagen para el procesamiento de imágenes binarias. Leí que el momento del contorno del orden es el perímetro y el momento del área del orden es el área . Estos momentos crudos están dados por:0th0th

Mij=xyxiyj .

Esto significa que si tengo una imagen como esta (pero binarios, los píxeles de primer plano se muestran en azul), el momento corresponderá al perímetro, ya que es una imagen de un contorno :0th

Perimitador img

Por otro lado, si tengo una imagen como esta (el primer plano se muestra como while), obtendré el área del objeto como el momento :0th

Area img

Como quiero usar los contornos para obtener más propiedades, también calculo el momento de contorno bruto de orden superior ( , , ) . Quiero usar estos para obtener los momentos centrales. 2 n d 3 r d1st2nd3rd

Las fórmulas que estoy usando para obtener los momentos centrales son:

μ00=M00

μ01=0

μ10=0

μ11=M11M00xcyc=M11M00(M10M00)(M01M00)

Las fórmulas para calcular momentos centrales están utilizando momentos sin procesar . Mi pregunta es: ¿Qué momentos crudos se usan para calcular los momentos centrales, el área o el contorno ? . Mi conjetura son los momentos de área , ya que el momento central de orden también es igual al área, que de hecho es el momento de área de orden . 0 t h0th0th

Además, ¿puedo calcular los momentos centrales en función de los momentos sin procesar del contorno ?

Olivier_s_j
fuente
2
Relacionado: stackoverflow.com/questions/12882039/…
Andrey Rubshtein
1
Sí, la diferencia entre los momentos de área y los momentos de contorno se aclara allí. Ahora solo más información sobre los momentos centrales y la relación entre ellos sería agradable :).
Olivier_s_j
¿Momentos centrales de contorno o área?
Andrey Rubshtein
Los momentos centrales del contorno deben aclararse. Me gustaría saber cómo obtener los momentos centrales en función de los momentos del contorno. Porque si calculo un momento central basado en el contorno y también uno basado en el área, veo que no son lo mismo. Por lo tanto, no puedo calcular la orientación o la excentricidad de la figura correctamente. ( en.wikipedia.org/wiki/Image_moment )
Olivier_s_j
Usted dice en su primera sesión: "Leí que el momento del contorno de orden 0 es el perímetro y el momento del área de orden 0 es el área". ¿Puede por favor proporcionar la fuente para eso? (Me estaba matando para encontrar algo más concreto en los momentos de contorno)
penelope

Respuestas:

3

En realidad, me sorprendió lo difícil que era deducir una definición adecuada de contorno frente a momentos "normales" y sin contorno de una imagen. Después de leer un montón de materiales, aquí vienen mis conclusiones.


En primer lugar, para comprender los momentos , y especialmente la diferencia y el uso de momentos espaciales (lo que el OP llama "en bruto"), central y central normalizados , encontré dos materiales muy buenos:

  • (manual) Johannes Kilian: "Análisis simple de imágenes por momentos"

    Excelente manual con matemáticas simples. No se asuste por las integrales: puede leerlas todas como sumaciones.

    Además, tiene una pequeña descripción de las funciones de OpenCV que se utilizan para operar en estos momentos. Es un material muy antiguo (2001), por lo que el manual de OpenCV al que hace referencia es un poco antiguo, pero aún ayuda.

    Y luego está el maravilloso tercer capítulo, que especifica qué momento se usa para describir qué característica de un momento.

  • (blog de procesamiento de imágenes) Utkarsh: Momentos de imagen

    Simple, corto y amigable. Encontré mucho material bueno en este blog antes.

    Descargo de responsabilidad AI Shack parecía estar desconectado en algún momento. Aquí está la página de inicio del autor de AI Shack , donde habla sobre este proyecto, por lo que todavía parece ser compatible. Espero que vuelva a estar en línea pronto, pero si no, tal vez pueda rastrearse a través de la página web del autor.


En breve, los momentos espaciales dan información sobre el objeto en la imagen , es decir, relacionados (dependientes) en la posición del objeto .

Los momentos centrales se ajustan para la invariancia traslacional , moviendo el origen del "sistema de coordenadas" utilizado para los cálculos al centroide (centro de gravedad) del objeto en cuestión.

Finalmente, los momentos centrales normalizados se escalan por el área del objeto y, por lo tanto, son invariantes de escala además de la invariancia traslacional.


Ahora para la parte de la pregunta real: ¿qué pasa con los momentos de contorno?

Las deducciones de esta parte se basan principalmente en

Y las citas más importantes de esas fuentes:

Los momentos de un contorno se definen de la misma manera, pero se calculan utilizando la fórmula de Green.

(Manual de referencia de OpenCV)

En geometría plana y, en particular, en levantamientos de áreas, el teorema de Green puede usarse para determinar el área y el centroide de las figuras planas únicamente mediante la integración sobre el perímetro .

(wiki para Green)

Además, cvContourMomentsahora es solo un alias para cvMoments.

(Libro de Bradski Kaehler)

Basado en eso, deduciría que los momentos de contorno no se refieren a medidas especiales de los contornos de los objetos, sino a una forma particular de calcular los momentos de la imagen , solo usando la información del contorno (en lugar de la información de píxeles para toda la imagen).

La diferencia, en el caso fundamental, sería cómo se calculan ambos.

  • Supongo que la implementación directa funcionaría por suma de píxel por píxel, implementando directamente la fórmula. Se espera que el objeto se llene.
  • Mi suposición para los momentos del contorno sería que los contornos de la imagen se determinan primero (consulte el manual de OpenCV) y luego se aplica el teorema de Green en los datos del contorno.

Eso haría que las mediciones fueran ligeramente diferentes para imágenes reales porque los métodos diferirían en su: sensibilidad a: ruido, escalado, discretización (cuadrícula de píxeles en lugar de imagen continua). Además, la velocidad : calcular usando contornos es más rápido que usar el enfoque directo. Especularía que darían resultados perfectamente iguales para una imagen en blanco y negro continua (idealizada) sin ruido.

Entonces, para responder a sus preguntas: los momentos deben ser los mismos (diferentes debido al ruido, etc.). Puede usar momentos espaciales (sin procesar) calculados por ambos métodos para determinar momentos centrales (que todavía describirán lo mismo).

Otro respaldo de estas afirmaciones es la existencia de este artículo (solo leo el resumen, pero debería ser muy relevante, e incluso el resumen es informativo) de 1994:


0th

Todas las mediciones adicionales, por supuesto, diferirían si usaras este momento más.

penelope
fuente
algunos enlaces están rotos
nkint
@nkint Arreglé el primer enlace roto ... el nombre del autor y el manuscrito fueron suficientes para encontrarlo como primer éxito en Google, por eso los incluí en primer lugar. Agradecería a cualquiera que editara la información correcta si notan que un enlace está roto nuevamente, y si se puede solucionar con una simple búsqueda en Google como fue. El segundo enlace, AI Shack parece estar temporalmente fuera de línea ... Agregué un enlace a la página de inicio de los autores, y un pequeño descargo de responsabilidad que describe la situación. Espero que ayude.
Penélope
0

No importa los momentos de contorno o área, los momentos centrales significan momentos que se calculan en un marco de referencia centrado, es decir, un marco centrado en la media de su fenómeno.

(μ0,1,μ1,0)μ=(μ01,μ10)

También relacionada, esta pregunta sobre vocabulario.

sansuiso
fuente