Control de Calidad de Naranjas usando Visión Artificial

download Control de Calidad de Naranjas usando Visión Artificial

of 23

Transcript of Control de Calidad de Naranjas usando Visión Artificial

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    1/23

    UNIVERSIDAD NACIONAL DE SAN AGUSTIN

    FACULTAD DE INGENIERA DE PRODUCCIN Y SERVICIOS

    ESCUELA PROFESIONAL DE INGENIERA

    ELECTRONICA

    CURSO: PROCESAMIENTO DIGITAL DE IMAGENES

    ING. RAL YANYACHI

    CONTROL DE CALDAD DE NARANJAS PARA LA

    EXPORTACIN

    MAMANI QUISPE JORGE LUIS

    2014-II

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    2/23

    Tabla de contenido

    1. Preliminares: ......................................................................................................................... 3

    1.1. Planteamiento del Problema: ....................................................................................... 3

    1.2. Objetivos ....................................................................................................................... 4

    2. Materiales ............................................................................................................................. 5

    2.1. Matlab ........................................................................................................................... 5

    3. Mtodos: ............................................................................................................................... 73.1. Segmentacin: ............................................................................................................... 7

    3.2. Operaciones Morfolgicas ............................................................................................ 8

    3.3. Deteccin de Contornos ................................................................................................ 8

    4. Resultados ............................................................................................................................. 9

    4.1. Diseo del sistema de adquisicin ................................................................................ 9

    4.2. Interfaz Grfica ............................................................................................................ 12

    4.3. Imgenes Procesadas .................................................................................................. 15

    5. Conclusiones........................................................................................................................ 16

    6. Bibliografa .......................................................................................................................... 17

    A. Anexos ..................................................................................................................................... 18

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    3/23

    1. Preliminares:

    1.1. Planteamiento del Problema:El desarrollo de tcnicas de visin por computador en la inspeccin de la calidad de los

    productos agrcolas se debe a la necesidad de encontrar una alternativa a los mtodosde inspeccin manual tradicionales para eliminar el contacto con el producto, aumentar

    la fiabilidad y objetividad, introducir flexibilidad a las lneas de confeccin e incrementar

    la productividad y competitividad de las empresas nacionales.

    Uno de los factores que ms influye en la calidad y el precio de la fruta fresca es la presencia

    de defectos en la piel de las frutas, dado que la mayora de los consumidores asocia

    calidad con buen aspecto y ausencia total de defectos externos.

    Una de las tareas clave es la clasificacin de los frutos de acuerdo a requerimientos

    diversos ,como pueden ser tamao, calibre y color. La inspeccin es visual y suele ser llevada a

    cabo por personal experimentado. Se trata, sin embargo, de una tarea repetitiva,

    propensa a errores, que acarrea perjuicios econmicos, pero que pueden ser

    automatizadas usando tcnicas de visin artificial.

    En general, los sistemas artificiales de clasificacin no slo pueden sustituir a la

    inspeccin manual, sino que tambin permiten mejorar sus capacidades. El desarrollo de

    sistemas de este tipo adaptados a nuestra agricultura es fundamental para que nuestras

    empresas productoras adquieran ventajas competitivas esenciales frente a otros pases

    con menores costes de produccin.

    Se emplean imgenes de frutas adquiridas mediante una cmara digital, las que se someten a

    un procesamiento previo para obtener imgenes binarias, que luego son inspeccionadas

    usando un algoritmo recursivo de etiquetado de componentes conexas previamente

    desarrollado. Se obtiene as una lista donde constan los pxeles oscuros, los que son

    considerados defectos.

    Calculando el rea de tales daos, as como el porcentaje respecto del total, es posible

    automatizar una parte de la clasificacin.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    4/23

    1.2. Objetivos

    Objetivo General:

    Implementar un programa que permita discriminar si una fruta (en este caso naranjas)

    cumple con los estndares de calidad, asimismo de implementar una interfaz grfica para

    el usuario que le permita manejar con facilidad el programa.

    Objetivos Especficos:

    Implementar un programa que permita la bsqueda de defectos en la superficie

    de la fruta.

    Realizar un programa que en base a las caractersticas de la fruta (tamao, color y

    frescura) discrimine si la fruta es apta o no para la exportacin.

    Disear el sistema de adquisicin de imgenes de una planta real.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    5/23

    2. Materiales

    2.1. MatlabMATLAB (abreviatura de MATrixLABoratory, "laboratorio de matrices") es un software

    matemtico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje deprogramacin propio (lenguaje M). Est disponible para las plataformas de Unix, Windows y

    Apple. Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la

    representacin de datos y funciones, la implementacin de algoritmos, la creacin de

    interfaces de usuario (GUI) y la comunicacin con programas en otros lenguajes.

    Adems, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas

    (toolboxes).

    2.1.1. GUIDE:

    Es un ambiente grfico de desarrollo de interfaces en Matlab, est equipado con un set de

    herramientas para crear interfaces graficas de usuario (GUI). Estas herramientas simplifican el

    proceso de crear y programar GUIs.

    Usando el editor de diseo de GUIDE, se puede agregar elementos grficos en el rea de

    diseo como axes, panels, buttons, text fields, sliders.tambin se puede crear Mens y

    context menus , Desde el Editor de Diseo se puede ditar el tamao del GUI, modificar la

    apariencia de os componentes, alinearlos, realizar una jerarqua en los componentes, entre

    otros.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    6/23

    2.1.2. Toolbox de Procesamiento de Imgenes:

    El toolbox de Procesamiento de Imgenes permite el analizar, procesar y desarrollar

    algoritmos relacionados al tratamiento de imgenes.

    Proporciona un juego comprensivo de algoritmos, funciones y aplicaciones para el

    procesamiento, anlisis, visualizacin, y desarrollo de algoritmos. Se puede realizar el anlisis,

    segmentacin, mejora, reduccin de ruido, transformaciones geomtricas y registro de la

    imagen.

    Varias funciones del toolbox soportan procesadores multi-ncleo, GPUs, y generacin de

    cdigo C. Permite trabajar con diversos formatos de imagen, incluyendo los que tiene un alto

    rango dinmico, resolucin en gigapixeles, y tomografas.

    Funciones y aplicaciones de visualizacin permiten explorar imgenes y videos, examinar una

    regin de pixeles, justar el color y contraste, crear contornos o histogramas, y manipular

    regiones de inters. El toolbox incluye flujos de trabajo para procesar, mostrar y navegar

    imgenes de gran tamao.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    7/23

    3. Mtodos:

    3.1. Segmentacin:El primer paso en el anlisis de imgenes generalmente es la segmentacin de la imagen. Este

    procedimiento subdivide la imagen en las partes que la constituyen u objetos. El nivel en quese realiza la subdivisin depende del problema a resolver. Es decir, la segmentacin debera

    pararse cuando los objetos de inters en una aplicacin han sido aislados .[1][Gonzlez,

    Woods,1993]

    Despus de adquirir y preparar las imgenes se procede a investigar las transformaciones ms

    convenientes y obtener aquellos parmetros que pueden ser tiles para la elaboracin del

    algoritmo. Antes, sin embargo, debe limitarse la zona de trabajo del programa al lugar de la

    imagen donde se localiza la naranja, ya que ste y no el fondo es la zona de inters. Por este

    motivo se procede al estudio de tcnicas de segmentacin con el objetivo claro de separar la

    fruta del fondo de la imagen aceptando como vlida una imagen segmentada que no excluya

    los defectos del naranja. Se da por entendido que no es necesario que la segmentacin sea

    perfecta, pues no es este el objetivo del proyecto, pero si debe ser suficiente para no excluir

    informacin.

    3.1.1. Seleccin del espacio de color.Antes de proceder a la segmentacin de la imagen se tiene que decidir el espacio de color

    desde el cual se trabajar y que debe ser congruente con los espacios que Matlab permite:

    RGB, color indexado, HSV, niveles de gris, binaria...

    Despus de realizar diversas transformaciones se comprueba que el modelo HSV es el ms

    adecuado para el anlisis de imgenes y su tratamiento. An as las imgenes en niveles de gris

    no se descartan para comprobaciones o anlisis extras.

    3.1.2. Thresholding. Determinacin de umbrales

    De los mtodos expuestos para la segmentacin anteriormente se ha escogido la

    segmentacin por thresholding o uso de umbrales. La segmentacin se consigue barriendo la

    imagen pxel a pxel i etiquetando cada pxel como objeto o fondo, segn si el valor del

    pxel es mayor o inferior que un cierto valor L llamado umbral, aunque tambin es posible el

    uso de ms de un umbral.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    8/23

    3.2. Operaciones MorfolgicasEn principio sera lgico escoger la imagen H para la segmentacin debido a que el naranja

    aparece como blanco y el fondo permanece negro en su binarizacin. An as no podemos

    descartar la imagen S debido a los resultados que se expondrn a continuacin.

    Aunque los resultados de la binarizacin son aceptables es necesario eliminar el ruido de la

    imagen y rellenar huecos en el objeto a segmentar.

    Esta operacin morfolgica equivale a la aplicacin de una erosin y una posterior dilatacin a

    la imagen con el mismo elemento estructurante y se realiza con el objetivo de eliminar

    aquellos objetos o zonas de la imagen ms pequeas que el elemento estructurante circular

    escogido. Las zonas eliminadas son aquellas mas pequeas que el elemento estructurante y de

    colores claros (blanco en caso de imgenes binarias).

    3.3. Deteccin de ContornosEl objetivo de este apartado es encontrar las caractersticas necesarias para poder establecer

    una discriminacin entre naranjas sanas y naranjas defectuosas. Este paso se determina a

    partir de un cierto valor que relaciona los pxeles totales del naranja con aquellos que

    pertenecen a un defecto.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    9/23

    Cuando el naranja ha sido segmentado del resto de la imagen el siguiente paso se basa en la

    bsqueda de defectos o imperfecciones en la pieza. stos se caracterizan por una coloracin y

    textura diferenciales dentro de la homogeneidad del naranja.

    Como se ha comentado en apartados anteriores, este estudio basa la toma de decisiones a

    base de pruebas sobre la imagen e intentando buscar un elemento comn que sea vlido para

    llegar al resultado deseado.

    4. Resultados4.1. Diseo del sistema de adquisicin

    Descripcin del sistema diseado:

    Las naranjas pasan a una faja transportadora hacia un tnel en donde se instalar la

    cmara fotogrfica. Unos sensores infrarrojos determinaran si la naranja est en la

    zona de captura de imagen, si los sensores se activan, la cmara tomar una fotografa

    de la zona de captura.

    La informacin se enviar a Matlab y con la aplicacin desarrollada se determinar si la

    naranja est dentro de los parmetros de tamao. Segn sea el resultado, apto o noapto la aplicacin enviar seales de control al microcontrolador que controla al

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    10/23

    motor de las compuertas de seleccin, las cuales se encargan de dirigir la naranja hacia

    el contenedor correcto.

    Los elementos que forman parte de la escena para nuestro sistema de control de

    calidad de naranjas se muestran en el siguiente diagrama:

    Calibracin de la cmara:

    La cmara fotogrfica a usar es unaWebCamLogiTech cuyas caractersticas se explican en el

    captulo de materiales y equipos.

    Calibrar una cmara significa hallar sus parmetros intrnsecos y extrnsecos, los cuales

    permiten conocer el sistema de coordenadas de la cmara y construir un modelo de cmo se

    proyecta el entorno 3D (escena) a la imagen 2D.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    11/23

    El Microcontrolador

    En este proceso el microcontrolador tiene las siguientes funciones:

    Leer el estado de los sensores infrarrojos y segn esta informacin determinar si la

    naranja se encuentra en la zona de captura. Indicar a la aplicacin de Matlab que se debe iniciar una nueva captura de imagen y su

    respectivo procesamiento.

    Recibir el resultado del procesamiento de la imagen y generar la seal de control del

    motor que mover la compuerta de seleccin y direccionara la naranja a su respectivo

    contenedor.

    Por lo expuesto anteriormente seleccionamos un PIC de Microchip de rango medio con

    mdulo de comunicacin USART, y de reducidas dimensiones un PIC 16F676.

    Diagrama de flujo de la programacin del PIC:

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    12/23

    4.2. Interfaz Grfica

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    13/23

    DIAGRAMA DE FLUJO DE LA INTERFAZ

    INICIO

    INICIALIZACION

    DE DATOS

    BOTON1 =

    PRESIONADO

    ?

    BOTON2=

    PRESIONADO

    ?

    BOTON3 =

    PRESIONADO

    ?

    FIN

    OBTENERRESULTADOS

    PROCESAR

    INGRESAR

    IMAGEN

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    14/23

    DIAGRAMA DE FLUJO DEL PROCESAMIENTO DE LA IMAGEN

    Bloque de

    procesamiento

    Diferenciacin del fondo de

    la imagen con la regin de

    inters

    Conversin a escala de grises

    Segmentacin de la Imagen

    Deteccin de bordes de la

    imagen, para detectar

    regiones podridas

    Clasificacin de la imagen deentrada. Fruto apto, o no

    apto

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    15/23

    4.3. Imgenes Procesadas

    Deteccin de impurezas

    En las siguientes imgenes se muestran los resultados del procesamiento, se observa

    que el programa est detectando los bordes de las imgenes.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    16/23

    5. Conclusiones Los resultados del algoritmo selector estn determinados en gran medida por dos

    aspectos: variedad de la fruta e iluminacin. La variedad de la fruta resulta unproblema a tener en cuenta a la hora de determinar los umbralesde binarizacin.No es lo mismo una fruta de tonos amarillentos que una de tonos rojizos.

    La iluminacin juega un papel muy importante en todos los sistemas dereconocimiento de imgenes. En el caso del selector se comprueba que su gradode acierto se ve claramente afectado por ese parmetro. Asimismo, como ya se hacomentado, el aspecto de la iluminacin no debera ser preocupante pues para lafuncin del sistema en una cadena de una empresa las condiciones de luz serianinvariantes y los parmetros en los que influye (tales como los umbrales de labinarizacin) podran ser fijados ms cmodamente.

    Un aspecto que se ha descartado para este estudio es la tridimensionalidad de la

    fruta, que se solventa aceptando el hecho de que las imgenes de una naranja soncaptadas desde diferentes ngulos y procesadas por separado para dar unaclasificacin final. Del mismo modo se supone que la naranja circula a travs de lacabina a velocidad constante y que los rodillos de transporte permiten que lanaranja est situada siempre en la misma posicin, tal como se especifica paraalgunas de estas mquinas. Tambin es necesario especificar que las imgenes nonecesitan de ningn tratamiento previo aparte del escalado puesto que en unselector real no se aplicara ningn tipo de correccin artstica que ralentice lacadena.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    17/23

    6. Bibliografa

    GONZALEZ, R.C; WOODS, R.E , Digital Image Processing, Addison-Wesley Publishing Company, pp 413-415, 1993

    Image Processing Toolbox Users Guide Mathworks

    Bibliografa consultada en Internet http://www.kramirez.net/Robotica/Material/Presentaciones/VisionArtificial.pdf

    http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2

    en.wikipedia.org/wiki/HSV_color_space en.wikipedia.org/wiki/thresholding_(image_processing)

    http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/68/SOBRADO_EDDIE_VISION_ARTIFICIAL_BRAZO_ROBOT.pdf?sequence=2
  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    18/23

    A.AnexosA.1 Cdigos Matlab

    A.1.1.Cdigos de Procesamiento de Imagen

    % CONTROL_NARANJA% CALCULO DEL AREA DE LA NARANJAfunctionva = areas(handles,ddd)

    [labeled,numObjects] = bwlabel(ddd,4)graindata = regionprops(labeled,'basic')va=max([graindata.Area])

    % DETECCIN DE BORDESfunctionG = bordes(infile)a=imread(infile);b=rgb2gray(a);G=edge(b,'canny');imshow(b)

    end% SEGMENTACIN DE LA IMAGEN

    functionZ = segmentacion(infile)b=imread(infile);c=rgb2gray(b);Z=double(c);[X,Y]=size(Z);

    fori=1:Xforj=1:Y

    ifZ(i,j) > 75Z(i,j)=250;

    elseZ(i,j)= 0;

    endend

    end

    end

    % SELECTOR DE FRUTA.

    functionhisto(handles,val)

    if(val > 50)msgbox(' PRODUCTO APTO ');

    elsemsgbox(' PRODUCTO NO APTO ');

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    19/23

    end

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    20/23

    A.2.2. Cdigo de la Interfaz:

    functionvarargout = CONTROL_NARANJA(varargin)% CONTROL_NARANJA M-file for CONTROL_NARANJA.fig% CONTROL_NARANJA, by itself, creates a new CONTROL_NARANJA orraises the existing% singleton*.%% H = CONTROL_NARANJA returns the handle to a new CONTROL_NARANJAor the handle to% the existing singleton*.%% CONTROL_NARANJA('CALLBACK',hObject,eventData,handles,...) callsthe local% function named CALLBACK in CONTROL_NARANJA.M with the giveninput arguments.%% CONTROL_NARANJA('Property','Value',...) creates a newCONTROL_NARANJA or raises the% existing singleton*. Starting from the left, property valuepairs are% applied to the GUI before CONTROL_NARANJA_OpeningFunction getscalled. An% unrecognized property name or invalid value makes propertyapplication% stop. All inputs are passed to CONTROL_NARANJA_OpeningFcn viavarargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allowsonly one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES

    % Edit the above text to modify the response to help CONTROL_NARANJA

    % Last Modified by GUIDE v2.5 21-Apr-2007 00:38:51

    % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...

    'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @CONTROL_NARANJA_OpeningFcn, ...'gui_OutputFcn', @CONTROL_NARANJA_OutputFcn, ...

    'gui_LayoutFcn', [] , ...'gui_Callback', []);ifnargin && ischar(varargin{1})

    gui_State.gui_Callback = str2func(varargin{1});end

    ifnargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

    elsegui_mainfcn(gui_State, varargin{:});

    end% End initialization code - DO NOT EDIT

    % --- Executes just before CONTROL_NARANJA is made visible.

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    21/23

    functionCONTROL_NARANJA_OpeningFcn(hObject, eventdata, handles,varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % varargin command line arguments to CONTROL_NARANJA (see VARARGIN)% Choose default command line output for CONTROL_NARANJAhandles.output = hObject;

    % Update handles structureguidata(hObject, handles);fondo=imread('back.JPG');imagen (handles.imagen7)imshow(fondo)axis offhandles.output = hObject;

    % UIWAIT makes CONTROL_NARANJA wait for user response (see UIRESUME)% uiwait(handles.figure1);

    % --- Outputs from this function are returned to the command line.functionvarargout = CONTROL_NARANJA_OutputFcn(hObject, eventdata,handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % Get default command line output from handles structurevarargout{1} = handles.output;

    % --- Executes on button press in CARGA.functionCARGA_Callback(hObject, eventdata, handles)% hObject handle to CARGA (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global imagen B fichero[fname,pname] = uigetfile('*.jpg','Abrir imagen');fichero = [pname,fname];[O] = INICIO(fichero); %activa un m filee*ActivarTodo(handles);imagen = O;[a b] = size(imagen); %crear matriz de igual dimensionB = zeros(a,b); %matriz ceros%originalimagen(handles.CARGAIMAGEN); %elijo el imagen Originalcolormap(gray); %eleijo el colormap grayimagesc(O); %muestro imagen con el colormapconcurrenteaxis offfunctionActivarTodo(handles)set(handles.PROCESO,'Enable','on');

    % --- Executes during object creation, after setting all properties.functionCARGAIMAGEN_CreateFcn(hObject, eventdata, handles)% hObject handle to CARGAIMAGEN (see GCBO)

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    22/23

    % eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcnscalled

    % Hint: place code in OpeningFcn to populate CARGAIMAGEN

    % --- Executes on button press in PROCESO.functionPROCESO_Callback(hObject, eventdata, handles)% hObject handle to PROCESO (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global fichero imag IMF

    [Z] = segmentacion(fichero); %activa un m file*imag = Z;[a b] = size(imag); %crear matriz de igual dimensionB = zeros(a,b); %matriz ceros[G] = bordes(fichero); %activa un m file*imagen(handles.PROCESADO); %elijo el imagen Originalcolormap(gray); %eleijo el colormap grayimagesc(G); %muestro imagen con el colormapconcurrenteaxis off

    % --- Executes during object creation, after setting all properties.functiongramo_CreateFcn(hObject, eventdata, handles)% hObject handle to gramo (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcnscalled

    % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.ifispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor' ))

    set(hObject,'BackgroundColor','white');end

    functionedit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % Hints: get(hObject,'String') returns contents of edit2 as text

    % str2double(get(hObject,'String')) returns contents of edit2as a double

    % --- Executes during object creation, after setting all properties.functionedit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcnscalled

    % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.ifispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor' ))

  • 8/10/2019 Control de Calidad de Naranjas usando Visin Artificial

    23/23

    set(hObject,'BackgroundColor','white');end

    % --- Executes on button press in estimacion.functionestimacion_Callback(hObject, eventdata, handles)

    % hObject handle to estimacion (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global fichero imag[labeled,numObjects] = bwlabel(imag,4);graindata = regionprops(labeled,'basic');va=max([graindata.Area]);val= va*0.01

    imgarea = num2str(round(val));set(handles.VALOR,'String',imgarea);imagen(handles.FINAL);colormap(gray);imagesc(imag);axis offval2= 250*val/35Gramos = num2str(round(val2));set(handles.gramo,'String',Gramos);

    histo(handles,val)