Está en la página 1de 4

1

Cálculo del área y centroide de una región.


Daniel Ornelas Barboza
ITESI
Ing. Mecatrónica, Visión Computacional
danielornelas483@gmail.com


Resumen – Se explica la metodología utilizada para II. DESARROLLO
calcular el área y el centroide de una región, hicimos
A. Área de una región u objeto.
pruebas y comprobamos los resultados usando imágenes
que tuvieran regiones de forma regular, más [2] La propiedad más simple y natural de una región es su
específicamente formas geométricas para comprobar que área, dada por el número de píxeles dentro de ella. El área real
el centroide calculado fuera el correcto e imágenes con de cada píxel se puede tener en cuenta para obtener el tamaño
regiones de pocos pixeles para el área. real de una región, observando que en muchos casos (por
ejemplo, imágenes satelitales) píxeles en diferentes posiciones
I. INTRODUCCIÓN corresponden a diferentes áreas del mundo real. Si una imagen
se representa como una trama rectangular, el recuento simple
Se entiende que el obtener el centroide y el área de una de píxeles de región proporcionará su área.
imagen, será necesario para poder extraer características de
ella, o podrían llegar a ser un dato importante en algoritmos de La metodología utilizada fue pensando en que nosotros
procesamiento digital de imágenes y visión computacional, a trabajaremos con imágenes binarizadas con una solo región en
grandes rasgos en el caso de imágenes el área no será más que ella obtenidas de usar procesamientos previos. Entonces para
el número de pixeles de una región y el centroide pues el el caso en que nuestro fondo sea de intensidad 0 y los pixeles
punto que define el centro geométrico de un objeto, a veces no de la región tendrán intensidad 255, solo se contaran los
es muy conveniente decir que el centro de masa, centro de pixeles de la región con ayuda de un barrido, un contador y
gravedad y centroide son lo mismo, pero para nuestra una comparación, para finalmente llegar al total de pixeles de
aplicación vienen a ser la misma propiedad, esperamos se la región y este resultado será el área de esta.
entienda con la siguiente cita proveniente de un libro del área
de ingeniería mecánica.
B. Centroide
[1] El centroide representa el centro geométrico de un cuerpo. [3] Para calcular el centroide requerimos obtener el momento
Este punto coincide con el centro de masa o con el centro de de orden cero(área), momento en i y el momento en j.
gravedad sólo si el material que compone al cuerpo es
uniforme u homogéneo. mi mj
Ci  Cj  (1)
A A

El momento en i y el momento en j se obtienen con la


sumatoria cada coordenada de todos los pixeles que
corresponden a la región.

III. PRUEBAS Y RESULTADOS


Se crearon 2 funciones en Matlab una para cálculo de área y
una más para el centroide, ambas funcionan solo con imágenes
binarizadas con una sola región y donde el fondo sea negro(0)
Figura. 1 Representación del centroide. y la región en blanco (255) aunque esto puede modificarse
fácilmente, por ello son importantes funciones previas que nos
ayuden a binarizar y separar regiones, el centroide se graficó
en la imagen de prueba, pero esto se hizo elaborando un script
aparte, que usa los puntos dados por la función de centroide, el
cual se encuentra en los anexos.
2

Para comprobar los resultados del área de una región se hará


con una imagen (Figura. 2) que contenga una región de pocos
pixeles, de modo que sea sencillo contarlos visualmente.

Figura. 2 Imagen de prueba para el calcular el área.

Figura. 5 Resultados de la segunda prueba.

Comprobaremos el centroide de una región, con figuras o


formas geométricas en las que intuitivamente sabemos dónde
debería estar ubicado, esto de forma visual, por ello se
graficara el centroide en cada región.

Figura. 3 Resultado del área de la región.

Si contamos cada píxel con intensidad de 255, que son los que
pertenecen a la región de interés, efectivamente son 20
pixeles.

Con ayuda de software de dibujo Paint comprobaremos el área


para una región mas grande, dando evidencia de las medidas
usadas en pixeles para dibujar una región en forma rectangular
para facilitar el cálculo manual. La zona subrayada en la Figura. 6 Resultado del cálculo del centroide en la
Figura. 4 muestra las dimensiones en pixeles del rectángulo regiones.
que se dibujó, eso quiere decir que deberíamos obtener un área
de 120000 pixeles. Intuitivamente sabemos que el centroide debe ubicarse
exactamente en el centro de estas figuras y efectivamente
vemos un punto en cada una que lo indica de forma correcta,
con esto podemos dar fe de que el algoritmo va a funcionar en
la mayoría de los casos.

IV. CONCLUSIÓN
De momento no logramos sacar muchas ideas sobre en qué
casos podría ser de ayuda calcular el centroide de una región,
aun así, no significa que se le este restando importancia, ya
que por ejemplo en ingeniería mecánica es un dato muy usado
en diferentes cálculos. Desde nuestro punto de vista existe la
posibilidad de que sea necesario para aplicaciones de
detección de rostros, si partimos de la idea de que somos
diferentes en mayor o menor medida en la dimensiones y
forma de nuestros rasgos faciales el centroide se vuelve un
dato a tomar en cuenta. Respecto al área sabemos que una
característica que la utiliza es la circularidad, aun así, al igual
que con el centroide puede haber muchos mas casos en los que
sea requerida, igualmente no sabemos si en cualquier
Figura. 4 Dimensiones del rectángulo. momento se conviertan en información que nos ayude a
resolver un problema real en el que se aplique visión
computacional.
3

REFERENCIAS
[1] Hibbeler, R. C. (2004). Mecánica Vectorial para A2. Código de la función cmass (centroide).
function [Ci,Cj] = cmass(P)
Ingenieros Estática. En R. C. Hibbeler, Mecánica Vectorial
%Devuelve las coordenadas que
para Ingenieros Estática (pág. 441). Edo. de México: Person
corresponden al centroide de
Education.
%un objeto o región de una imagen, su
[2] Milan Sonka, V. H. (2015). Area. En V. H. Milan Sonka,
argumento de entrada
Image Processing, Analysis, and Machine Vision (pág. 354).
%debe ser una imagen binarizada con una
Stamford : Cengage Learning.
sola región en ella
[3] Milan Sonka, V. H. (2015). Moments. En V. H. Milan
%
Sonka, Image Processing, Analysis, and Machine Vision (pág. %Ejemplo:
358). Stamford : Cengage Learning. %
ANEXOS %[Ci,Cj] = cmass(I)
%
A1. Código de la función área %Ci y Cj serán las coordenadas en i y j
function [A] = area(P) respectivamente e I la imagen
%Esta función devuelve el número de %de entrada
pixeles de
%una determinada región de una imagen. [r,c] = size(P);
%Su argumento de entrada debe ser una fondo = 0;
imagen binarizada Ci = 0;
%que contenga solo una región Cj = 0;
% %Se hace un barrido sobre la imagen y se
%Ejemplo: verifica que sea píxel de
% %la región, si es así se suman las
% A = area(I); donde I es la imagen coordenadas
binarizada con una sola región for i = 1:r
for j = 1:c
fondo = 0; if P(i,j) ~= fondo
[r,c] = size(P); Ci = Ci+i;
A = 0; Cj = Cj+j;
%Se hace un barrido en la imagen, cada end
vez que se encuentre un píxel de la end
región la variable Área incrementa en 1 end
for i=1:r %Calculamos el área de la región
for j = 1:c A = area(P);
if P(i,j) ~= fondo %Se hace la división de los momentos para
A = A+1; obtener los puntos
end Ci = uint16(Ci/A);
end Cj = uint16(Cj/A);
end end
end
4

A3. Script de prueba para el centroide.

A = imread('centroide.png');
%Binarización y Separación de regiones
con ayuda de objcont y regions%
[Inum,H,nob] = objcont(A);
P = regions(Inum,H,nob);
%Cálculo de los centroides de cada región
%y la graficación de los mismos con un
punto amarillo modificando la imagen
original
I = P(:,:,1);
[ci,cj] = cmass(I);
A(ci,cj,1) = 255;
A(ci,cj,2) = 242;
A(ci,cj,3) = 0;
I2 = P(:,:,2);
[ci,cj] = cmass(I2);
A(ci,cj,1) = 255;
A(ci,cj,2) = 242;
A(ci,cj,3) = 0;
I3 = P(:,:,3);
[ci,cj] = cmass(I3);
A(ci,cj,1) = 255;
A(ci,cj,2) = 242;
A(ci,cj,3) = 0;
imshow(A);

También podría gustarte