Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Detector de monedas Matlab, Ejercicios de Física Médica

Detector de monedas Matlab, con cámara. Con este puedes hacer un programa que detectará monedas en un fondo negro

Tipo: Ejercicios

2020/2021

Subido el 22/03/2022

angie-mendoza-31
angie-mendoza-31 🇲🇽

1 documento

1 / 2

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
%Curso de aplicaciones biomédicas
%Profesor: Abimael Terrones Acosta
%Alumna: Mendoza Elizalde María de los Angeles
%Fecha: 26 de Noviembre, 2021
%Tema: Detección de monedas
clc
clear
close all
cam=webcam(1);
i=0;
Total=0;
while i<=200
img1=snapshot(cam);
img=rgb2gray(img1);
nivel=graythresh(img);%Nivel de umbral promedio
imgb=imbinarize(img,nivel);%Convertir a binaria
se1 = strel('disk',2);
erosionado=imerode(imgb,se1);
se2 = strel('disk',8);
Dilatado=imdilate(erosionado,se2);
L=bwlabel(Dilatado);
NumObjetos=max(max(L));
centroide=regionprops(Dilatado, 'centroid');
area = regionprops(Dilatado, 'area');
%disp("El numero de monedas detectadas es: "), disp(NumObjetos);
imshow(img1)
hold on
for n=1:NumObjetos
objetoActual=centroide(n);
areaActual=area(n);
areaActual= areaActual.Area;
objetoActual= objetoActual.Centroid;
x=objetoActual(1);
y=objetoActual(2);
plot(x,y, "r*", "LineWidth", 4)
%Moneda de 10 pesos área de 6000 a 7000
%Moneda de 5 pesos área de 4000 a 5000
%Moneda de 50c área de 1000 a 3000
if areaActual>6000 && areaActual<7000
plot(x,y,"g*", "LineWidth", 4)
text(x,y,'$10')
Total=Total+10;
end
if areaActual>4000 && areaActual<5900
plot(x,y,"y*", "LineWidth", 4)
text(x,y,'$5')
1
pf2

Vista previa parcial del texto

¡Descarga Detector de monedas Matlab y más Ejercicios en PDF de Física Médica solo en Docsity!

%Curso de aplicaciones biomédicas %Profesor: Abimael Terrones Acosta %Alumna: Mendoza Elizalde María de los Angeles %Fecha: 26 de Noviembre, 2021 %Tema: Detección de monedas clc clear close all cam=webcam(1); i=0; Total=0;

while i<= img1=snapshot(cam); img=rgb2gray(img1); nivel=graythresh(img);%Nivel de umbral promedio imgb=imbinarize(img,nivel);%Convertir a binaria se1 = strel('disk',2); erosionado=imerode(imgb,se1); se2 = strel('disk',8); Dilatado=imdilate(erosionado,se2); L=bwlabel(Dilatado); NumObjetos=max(max(L)); centroide=regionprops(Dilatado, 'centroid'); area = regionprops(Dilatado, 'area');

%disp("El numero de monedas detectadas es: "), disp(NumObjetos);

imshow(img1) hold on for n=1:NumObjetos objetoActual=centroide(n); areaActual=area(n); areaActual= areaActual.Area; objetoActual= objetoActual.Centroid; x=objetoActual(1); y=objetoActual(2); plot(x,y, "r*", "LineWidth", 4) %Moneda de 10 pesos área de 6000 a 7000 %Moneda de 5 pesos área de 4000 a 5000 %Moneda de 50c área de 1000 a 3000

if areaActual>6000 && areaActual< plot(x,y,"g*", "LineWidth", 4) text(x,y,'$10') Total=Total+10;

end

if areaActual>4000 && areaActual< plot(x,y,"y*", "LineWidth", 4) text(x,y,'$5')

Total=Total+5;

end

if areaActual>1000 && areaActual< plot(x,y,"w", "LineWidth", 4) text(x,y,'$0.5') Total=Total+0.5;

end %Totalchar=Total end %disp("Total: $ "), disp(Total), disp(" MXN"); text(300,300,num2str(Total), 'Color', 'red', 'FontSize', 14) hold off

i=i+1; pause(0.001) Total=0; end