Você está na página 1de 4

PROCESAMIENTO DE IMAGEN EN MATLAB 1

M EDIR PERIMETRO Y AREA EN TIEMPO REAL


CON MATLAB
Subgrupo: 01
Natalia del Pilar Rubiano Charry
Código 20141126898
Jose David duran Mosquera
Código 2014112

Resumen —se realizó un algoritmo en Matlab capaz de medir programación propio (lenguaje M). Está disponible para las
área y perímetro de una figura en tiempo real, se utilizaron los plataformas Unix, Windows, Mac OS X y GNU/Linux .
conceptos de detección de bordes, segmentación y
procesamiento de una imagen. Entre sus prestaciones básicas se hallan: la manipulación
de matrices, la representación de datos y funciones, la
implementación de algoritmos, la creación de interfaces de
Palabras claves —Segmentación, detección de borde, Matlab,
área, perímetro. usuario (GUI) y la comunicación con programas en
otros lenguajes y con otros dispositivos hardware. El
paquete MATLAB dispone de dos herramientas adicionales
I. OBJETIVOS que expanden sus prestaciones, a saber, Simulink(plataforma
de simulación multidominio) y GUIDE (editor de interfaces
 Calcular el área y perímetro de una figura en
de usuario - GUI).
Matlab.
 Identificar parámetros importantes para poder
realizar la medida del área y perímetro de la figura.
 Hacer uso de los conocimientos adquiridos durante
el curso

II. JUSTIFICACION
La tecnología cumple un papel importante para el desarrollo
de la sociedad; todos hacemos uso de algún dispositivo
inteligente, un ejemplo de esto son los teléfonos celulares,
los cuales viven en constantes actualizaciones, por esta razón
cada vez más sofisticados, como es el caso de aquellos que
tiene cámara capaces de tomar una foto si la persona sonríe,
o aquellos que tienen reconocimiento facial o de irirs, esto es
gracias a la visión por computadores. Visión por Figura1: logotipo matlab
Computador, es una de las ramas de la Inteligencia Artificial
que ha experimentado un mayor crecimiento en estos últimos
años. La Visión por Computador es la disciplina que estudia TOOLBOX WEBCAM TOOLS
cómo procesar, analizar e interpretar imágenes de forma
automática. Estas técnicas tienen aplicaciones en muchos Permite acceder a las cámara web que estén instaladas en el
ámbitos, como la seguridad, la medicina, la inspección computador, capturar una imagen directamente del cámara y
automática, o la navegación automática, por estas razones es realizar ajustes de configuración de la cámara, como brillo,
que están importante que un ingeniero electrónico domine contraste, enfoque, etc.
este tema.
IV. ELEMENTOS MATERIALES Y EQUIPOS
III. MARCO TEORICO
 Ordenador
MATLAB.
 Matlab
Es una herramienta de software matemático que ofrece  Tira de leds 12 v
un entorno de desarrollo integrado (IDE) con un lenguaje de
PROCESAMIENTO DE IMAGEN EN MATLAB 2

V. DESARROLLO PRÁCTICO
Para inicial el desarrollo del algoritmo se instaló el toolbox %% procesamiento de imagen
de webcam de tal manera que Matlab pudiera reconocer las
Es=strel('sphere',[4]);
cámaras instaladas en el computador. Posteriormente se
configuran los parámetros de la cámara para obtener una
B=bwareaopen(B,10);
mejor imagen, luego se realiza la captura de la imagen; una B=imclose(B,Es);
vez obtenida la captura se realiza el procesamiento de esta. %ImP=imgradient(B,'canny');
ImP=edge(B,'canny');
En el procesamiento de la imagen se realiza la
transformación a escala de grises, luego se extraen los
%figure
parámetros de umbralizacion, acto seguido se segmenta la
imagen por umbralizacion, se le aplica a esta imagen una
%subplot(1,2,1)
eliminación de áreas pequeñas y un closing para rellenar %imshow(B)
huecos, una vez aplicado el closing, se extraen los bordes que %subplot(1,2,2)
corresponden al perímetro de la imagen, se procede a realizar %imshow(ImP)
el etiquetado y se extraen características, se calculan las áreas
y perímetros reales basados en la calibración. %% calculo de caracteristicas
subplot(2,2,1)
 CODIGO EN MATLAB
imshow(B)
%% camara en vivo o adquisicion de
subplot(2,2,2)
imagen
imshow(ImP)
clear all
S=bwlabel(B);
close all
S2=bwlabel(ImP);
cam=webcam('HD Pro Webcam C920');
W=regionprops(S);
cam.FocusMode='Manual';
W2=regionprops(ImP);
cam.Focus=20;
Area=W.Area;
cam.Brightness=200;
Peri=W2.Area;
cam.Resolution='800x600';
calibracion=1529;
preview(cam);
Areal=Area/calibracion;
value=1;
PeriR=Peri/round(sqrt(calibracion*1.05));
file = fopen('control.txt', 'w');
% por confirmar formula
fprintf(file,'%d',1);
fclose(file);
%% Agregar texto a imagen
fig_h = figure;
text_str = cell(2,1);
set(fig_h,'KeyPressFcn',
text_str{1}=['Area : '
@key_pressed_fcn);
num2str(Areal,'%0.2f') ' cm2'];
text_str{2}=['Perimetro : '
while value==1
num2str(PeriR,'%0.2f') ' cm'];
Q=snapshot(cam);
position=[100 100; 100 200];
%Q=imread('P6.jpg');
RGB =
A=rgb2gray(Q);
insertText(Q,position,text_str,'FontSize',4
%A=double(A);
0,'BoxColor',...
A=255-A;
%imshow(A)
'black','BoxOpacity',0.4,'TextColor','white'
);
%% Biranizar la imagen
%figure
P=graythresh(A);
subplot(2,2,3)
B=imbinarize(A,P);
imshow(RGB)
%B=1-B;
file = fopen('control.txt', 'r');
%figure
value=fscanf(file,'%d');
%imshow(B)
fclose(file);
PROCESAMIENTO DE IMAGEN EN MATLAB 3

pause(2)
%value=key_pressed_fcn(fig_h);
end
closePreview(cam)

 CODIGO FUNCION PARA DETECTAR


CUANDO SE OPRIME UNA TECLA
function key_pressed_fcn(fig_obj,eventDat)
file = fopen('control.txt', 'w');
Figura5: cálculo del perímetro y área de un triangulo
fprintf(file,'%d',0);
fclose(file);
end

 RESULTADOS

Figura6: lugar donde se realizan las mediciones.

Figura2: cálculo del perímetro y área de un circulo

Figura7: iluminación del ambiente.


Figura3: cálculo del perímetro y área de un objeto.

VI. ANALISIS DE RESULTADOS


Una vez obtenidos los resultados, se observó que estos
procesos deben ser muy precisos, porque cualquier variación
altera las mediciones, aumentando aún más el margen de
error. Las condiciones del ambiente deben estar controladas,
en nuestro caso la iluminación, porque si cambia también me
afectan las mediciones, al ser tan sensible la cámara se debe
evitar las sombras o si no los resultados serán erróneos. Cada
vez que se inicia el proceso de adquirir la imagen se debe
Figura4: cálculo del perímetro y área de un rectángulo. calibrar, por esta razón se debe procurar colocar el objeto en
el mismo punto donde se pone el objeto de calibración, de
PROCESAMIENTO DE IMAGEN EN MATLAB 4

esta manera se asegura una adquisición precisa de los datos.


Al hacer el proceso en tiempo real el procesamiento es lento,
por esta razón se pone el tiempo de captura de la imagen cada
2 segundos.

VII. CONCLUSIONES.
 Matlab es una gran ayuda a la hora de procesar
imágenes ya que tiene librerías y comandos
disponibles que facilitan este proceso.
 la ambientación es un factor muy importante a la
hora de realizar estos procesos, ya que son en
tiempo real, cualquier mínima variación cambia
exponencialmente el valor de los resultados.
 Se observa que la perspectiva del objeto y la cámara
cambian los valores del área y el perímetro, por esta
razón se procura ubicar los objetos en la misma
posición.

REFERENCIAS

1. https://www.mathworks.com/hardware-
support/webcam.html
2. http://ingenierobeta.com/procesamiento-digital-de-
senales-tiempo-real-matlab/
3. https://es.mathworks.com/products/image.html

Você também pode gostar