Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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 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.
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
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
Clase Presentación
• initComponents()
Clase Acerca de
• initComponents()
Clase Gui
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
• calcularTamañoSubarbol(NodoBinario n)
• dibujarArbol(Graphics2D g,NodoBinario n, int puntox, int puntoy, int yoffs)
• paint(Graphics g)
Clase main
• main(String[] args)
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.
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
11