Para obtener los limites de área de un objeto lo primero hay que tomar en cuenta su tamaño par poder tomar el valor de área de cada posición.

Debido a que cada moneda tiene diferente posición se pude obtener el área y determinar un rango de medidas

Declararemos variables en la cual podremos almacenar en rango de valores del área para cada moneda
cantidad=0;
Monedas1=find (areas>5202&areas<5252&excentricidad<0.5);
Utilizamos el operador find que calcula las componentes que lo verifican
Como bien podemos observar área de cada moneda.

Monedas1=find(areas>5202&areas<5252&excentricidad<0.5);
statsMonedas4=stats(Monedas4)
figure;imshow(I_moneda)
%Permite mantener abierta para seguir modificando la imagen
hold on;
%StatsMonedas tiene almacenado 5 objetos
cantidad=cantidad+length(statsMonedas4)*0.10
for idx=1:length(statsMonedas4);
h=rectangle('Position',statsMonedas4(idx).BoundingBox,'Curvature',
[0.4,0.4],'LineWidth',2,'LineStyle','-.');
set(h,'EdgeColor',[0.5 0 0]);
hold on
end
La variable cantidad es en donde almacenamos el valor de cada una de las monedas que en nuestro caso son 5 a continuación presentaremos cada una de las monedas delimitadas.
Delimitamos la moneda de 1 peso

cantidad=length(statsMonedas1)*0.01+cantidad;
--------------------------------------------------------
Delimitamos la moneda de 5 peso

cantidad=cantidad+length(statsMonedas2)*0.05
---------------------------------------------------------
Delimitamos la moneda de 50 pesos

cantidad=cantidad+length(statsMonedas3)*0.50
---------------------------------------------------------
Delimitamos la moneda de 10 peso

cantidad=cantidad+length(statsMonedas4)*0.10
---------------------------------------------------------
Delimitamos la moneda de 25 peso

cantidad=cantidad+length(statsMonedas5)*0.25
---------------------------------------------------------

En la variable cantiad almacenamos el valor de cada moneda.
Para delimitar un objeto hay que tomar en cuenta el tamaño del objeto, y mediante la toma de valores de área podemos dar un rango de medidas en diferentes posiciones.
ResponderEliminarMediante las investigaciones en internet se hallo recomendaciones que para delimitar objetos con el mismo tamaño se procede a cambiar de posiciones para obtener valores de área. Ya que al no hacerlo se presentaría problemas de intersección de aéreas.
h=rectangle('Position',statsMonedas4(idx).BoundingBox,'Curvature',[0.4,0.4],'LineWidth',2,'LineStyle','-.');
ResponderEliminarset(h,'EdgeColor',[0.5 0 0]);
hold on
A través de este codigo es importante observar el como vamos a designar la forma el color y estilo de la linea con la cual se rodeara la imagen deseada esto se lo puede modificar al gusto de cada persona. El delimitar un objeto permite al sistema o al programa identificar el tipo de objeto que se esta seleccionando dentro de la imagen esta si es fija o en caso contrario en movimiento para que en un cierto intervalo de tiempo este actualice su captura
La delimitación muy importante en las aplicaciones mediante imágenes.
ResponderEliminarParticularmente en este codigo se verifica el tamaño de la moneda para identificarla.
Con esto podemos realizar una aplicacion, la cual mediante una camara que apunto a un conjunto de monedas pueda devolver la cantidad de dinero que se tiene en aquel lugar, una de las tantas aplicaciones