Está en la página 1de 11

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS

CARRERA DE INGENIERÍA INFORMÁTICA

GRUPO DE DESARROLLO DE SOFTWARE

HEMISEMESTRE 2

MICHAEL PONCE

MARLON OÑA

JAIRO MENA

2018
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

Indice

Contenido
1. Introducción al sistema: Face X ............................................................................................. 3
2. Requerimientos de Hardware y Software .............................................................................. 3
3. Diseño de Clases ................................................................................................................... 4
3.1. Diagrama de Clases ...................................................................................................... 4
3.2. Lista de Objetos............................................................................................................. 7
3.3. Información de las Clases ............................................................................................. 8
3.4. Información de Métodos ................................................................................................ 8
3.5. Información de Eventos ................................................................................................. 9
4. Librerías Programadas......................................................................................................... 10
4.1. Libreria openCV (Open Source Computer Vision) ...................................................... 10
4.2 Librería javacv .................................................................................................................... 10
5. Anexos ................................................................................................................................ 10

2
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

1. Introducción al sistema: Face X

El sistema Face X fue desarrollada en un lenguaje de programación Java en el entorno de


desarrollo Netbeans IDE 8.0.2 y posteriormente creado su archivo ejecutable .exe.

El sistema tiene como objetivo general permitir reconocer el rostro de la persona utilizando la
cámara instalada en el ordenador en tiempo real, a su vez tiene la funcionalidad de poder
ingresar y registrar a nuevas personas para posteriormente ser reconocidas por el sistema
Face X.

El sistema se encuentra distribuido en cuatro paquetes (package):


Musica que contiene el sonido del sistema Face X en formato .wav.
ec.edu.uce.calculabilidad.clases que contiene las diferentes clases que permiten ejecutar el
sistema: AcercaDe, Gui, Presentacion, ReconocimientoCaras
ec.edu.uce.calculabilidad.imagenes que contiene las imágenes en formato .png utilizadas en
las ventanas jFrame del sistema Face X.
ec.edu.uce.calculabilidad.principal que contiene a la clase principal main.

El sistema consta de 3 jFrame: Presentación que es el primer jFrame que nos indica el inicio de
nuestro sistema Face X mostrando el nombre del sistema; Acerca de: es el segundo jFrame
que muestra una ventana amigable al usuario con una descripción corta sobre la temática del
sistema e información sobre la versión de este; por ultimo tenemos la jFrame Gui que es la
ventana que interactuara con el usuario donde tenemos dos pestañas Training que es en la
cual nos permite registrar una nueva persona y Recognition que dando click en el botón
encendido podemos reconocer a las personas previamente registradas.

2. Requerimientos de Hardware y Software


En cuanto a los requerimientos de hardware el sistema requiere las prestaciones mínimas para
poder ejecutarla, en el caso del usuario solo trabaja con la información que ya viene incluida en
el package de la aplicación.

En cuanto a los requerimientos de software, la aplicación fue desarrollada en un sistema


operativo Windows 10 en lenguaje Java en el entorno de desarrollo Netbeans y posteriormente
creado su archivo ejecutable .exe el cual puede ser ejecutado en cualquier sistema operativo
Windows que tenga la instalación de java.

3
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

3. Diseño de Clases
3.1. Diagrama de Clases

4
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

5
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

6
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

3.2. Lista de Objetos

Clase Presentación

• JLabel fondo
• JLabel jLabel2
• AudioClip sonido
• JLabel jLabel2

Clase Acerca de

• JLabel jLabel1
• JLabel jLabel2
• JLabel jLabel3
• JLabel jLabel5
• JLabel jLabel6
• JScrollPane jScrollPane1
• JTextArea jTextArea1

Clase Gui

• JLabel avisos
• JButton jButton1
• JButton jButton10
• JButton jButton11
• JButton jButton15
• JButton jButton2
• JButton jButton3
• JButton jButton4
• JButton jButton5
• JButton jButton6
• JButton jButton8
• JButton jButton9
• JFileChooser kFileChooser1
• JLabel jLabel1
• JMenu jMenu1
• JMenu jMenu2
• MatOfRect faceDetections
• JMenuBar jMenuBar1
• JMenuItem jMenuItem1
• JMenuItem jMenuItem2
• JMenuItem jMenuItem3
• JMenuItem jMenuItem4
• JMenuItem jMenuItem5
• JMenuItem jMenuItem6
• JPanel jPanel1
• JPanel jPanel2
• JPanel jPanel3
• JPanel jPanel4
• JPanel jPanel5
• JPanel jPanel6
• JPanel jPanel9
• Separator jSeparator1
• Separator jSeparator2

7
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

• Separator jSeparator4
• Separator jSeparator5
• JTabbedPane jTabbedPane1
• JTextField TextField1
• MatOfByte mem
• Gui gu
• JTextField txtRes

Clase ReconocimientoCaras

• CvHaarClassifierCascada cascad
• FaceRecognizer fr_binary
• ReconocimientoCaras instance
• FaceRecognizer ptr_binary

3.3. Información de las Clases


• Presentacion: Se encuentra desarrollada en un panel JFrame con interfaz gráfica que
permite mostrar el splash a lo que se inicia el sistema Face X.
• AcercaDe: Clase con interfaz gráfica que muestra la información general del sistema
asi como una breve descripción y su versión.
• Gui: Clase de tipo Jframe que será la pantalla principal de nuestro sistema.
• ReconocimientoCaras: En esta clase es donde esta el algoritmo que permite al sistema
el reconocimiento de los rostros.
• Main: Clase principal que inicia todo el sistema Face X.

3.4. Información de Métodos

Clase Presentación

• initComponents()

Clase Acerca de

• initComponents()

Clase Gui

• abrir Archivo(String archivo)


• initComponents()
• run()

Clase ReconocimientoCaras()

• createModels()
• detectFace(Ip|Image originalImage): CvSeq
• getInstance() : ReconocimientoCaras
• identifyFace(Ip|Image image) : String
• learnNewFace(String personName, Ip|Image images) :boolean
• loadTrainingData()
• preprocessImage(Ip|Image image,CvRect r) : Ip|Image)
• readImages(String personName) : Ip|Image
• retrainAll()
• storeTrainingData()

8
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

• storeTrainingImages(String personName, Ip|Image images)

• calcularTamañoSubarbol(NodoBinario n)
• dibujarArbol(Graphics2D g,NodoBinario n, int puntox, int puntoy, int yoffs)
• paint(Graphics g)

Clase main

• main(String[] args)

3.5. Información de Eventos

Clase Presentación

• formComponentShown(ComponentEvent evt)

Clase Gui

• formWindowsClosing(WindowsEvent evt)
• jButton10ActionPerfomed(ActionEvent evt)
• jButton11ActionPerfomed(ActionEvent evt)
• jButton15ActionPerfomed(ActionEvent evt)
• jButton1ActionPerfomed(ActionEvent evt)
• jButton2ActionPerfomed(ActionEvent evt)
• jButton3ActionPerfomed(ActionEvent evt)
• jButton4ActionPerfomed(ActionEvent evt)
• jButton5ActionPerfomed(ActionEvent evt)
• jButton6ActionPerfomed(ActionEvent evt)
• jButton8ActionPerfomed(ActionEvent evt)
• jButton9ActionPerfomed(ActionEvent evt)
• jMenuItem1ActionPerformed(ActionEvent evt)
• jMenuItem2ActionPerformed(ActionEvent evt)
• jMenuItem3ActionPerformed(ActionEvent evt)
• jMenuItem5ActionPerformed(ActionEvent evt)
• jMenuItem6ActionPerformed(ActionEvent evt)
• jTabbedPane1AncestorAdded(AncestorEvent evt)
• jTabbedPane1AncestorMoved(HierarchyEvent evt)
• jTabbedPane1CaretPositionChanged(InputMethodEvent evt)
• jTabbedPane1MouseClicked(MouseEvent evt)
• jTabbedPane1StateChange(ChangeEvent evt)
• jTabbedPane1VetoableChange(PropertyChangeEvent evt)
• jTextField1KeyTyped(KeyEvent evt)

9
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

4. Librerías Programadas
4.1. Libreria openCV (Open Source Computer Vision)

OpenCV (Open Source Computer Vision) es una biblioteca para funciones de computación
visual en tiempo real. Con esta biblioteca se realizaron las funciones básicas con la cámara
web, como tomar fotos, normalizar cada foto, y otras funciones. Sin embargo, esta biblioteca es
para C++, por lo cual se necesita javacv.

4.2 Librería javacv

Esta biblioteca se utiliza como interfaz de OpenCV con Java ya que como se explicó
anteriormente, OpenCV está escrito para utilizarlo en C++.

5. Anexos
Modelo de la Ventana Presentación

10
U Calculabilidad y Complejidad de Algoritmos Manual Técnico

Modelo de la Ventana AcercaDe

Modelo de la Ventana Gui

11

También podría gustarte