Está en la página 1de 12

Administración de hardware

Jorge Alberto Pinzón Pataquiva


2010650218

Politécnico Gran Colombiano

Elementos de Teoría de Computación

Facultad de Ciencias básicas

Bogotá, Colombia 2020

pág. 1
Administración de hardware

Jorge Alberto Pinzón Pataquiva

Librerías administración de hardware

Docente
Víctor Agusto Pedraza Bonilla

Politécnico Gran Colombiano

Elementos de Teoría de Computación

Facultad de Ciencias básicas

Bogotá, Colombia 2020

pág. 2
Resumen

En este documento se realiza una pequeña investigación de la librería OpenCV (Open

Computer Vision (Visión Artificial Abierta), esta librería es altamente compatible con

C/C++ y Python, pero incluye soporte para la máquina virtual de java.

(información, 2018) Desarrollada por Intel, OpenCV es una biblioteca libre de visión

artificial que desde 1999 se viene empleando en todo tipo de aplicaciones que requieren

incorporar el reconocimiento de objetos.

Abstract

In this document, a small investigation of the OpenCV (Open Computer Vision) library

is carried out, this library is highly compatible with C / C ++ and Python, but includes

support for the java virtual machine.

(information, 2018) Developed by Intel, OpenCV is a free computer vision library that

since 1999 has been used in all types of applications that require incorporating object

recognition.

pág. 3
Contenido

Objetivos ....................................................................................................................................... 5
General ...................................................................................................................................... 5
Específicos ................................................................................................................................. 5
Lenguaje Java ................................................................................................................................ 5
El compilador Java ..................................................................................................................... 5
La JVM ....................................................................................................................................... 6
OpenCV ......................................................................................................................................... 6
Class VideoCapture ................................................................................................................... 7
Conclusiones ........................................................................................................................... 11
Bibliografía .................................................................................................................................. 12

pág. 4
Objetivos

General

Desarrollar una aplicación en el lenguaje Java que aumente el porcentaje de

consumo de memoria de tal forma que permita el desbordamiento de la misma.

Específicos

• Desde el monitor del sistema operativo se logre visualizar que la memoria está

aumentando el porcentaje de consumo.

• Visualizar error del desbordamiento de memoria.

Lenguaje Java

(Perry, 2012) La tecnología Java se usa para desarrollar aplicaciones para un

amplio alcance de entornos, desde dispositivos del consumidor hasta sistemas

empresariales heterogéneos. En esta sección, obtenga una vista de alto nivel de la

plataforma Java y sus componentes. Vea Recursos para aprender más acerca de los

componentes de la plataforma Java discutidos en esta sección.

El compilador Java

(Perry, 2012) Cuando usted programa para la plataforma Java, escribe el

código de origen en archivos .java y luego los compila. El compilador verifica su

código con las reglas de sintaxis del lenguaje, luego escribe los códigos byte en

archivos .class. Los códigos byte son instrucciones estándar destinadas a ejecutarse

en una Java Virtual Machine (JVM)

pág. 5
La JVM

(Perry, 2012) La JVM lee e interpreta archivos .class y ejecuta las

instrucciones del programa en la plataforma de hardware nativo para la que se

escribió la JVM. La JVM interpreta los códigos byte del mismo modo en que una

CPU interpretaría las instrucciones del lenguaje del conjunto. La diferencia es que la

JVM es un software escrito específicamente para una plataforma particular. La JVM

es el corazón del principio «escrito una vez, ejecutado en cualquier lugar» del

lenguaje Java.

OpenCV

Open Source Computer Vision) es una librería software open-source de visión

artificial y machine learning.

OpenCV tiene una licencia BSD, lo que permite utilizar y modificar el código,

tiene una comunidad de más de 47000 personas y más de 7 millones de

descargadas. Es una librería muy usada a nivel comercial, desde Google, Yahoo,

Microsoft, Intel, IBM, Sony, Honda, Toyota, Applied Minds, VideoSurf, Zeitera…

La librería tiene más de 2500 algoritmos, que incluye algoritmos de machine

learning y de visión artificial para usar. Estos algoritmos permiten identificar objetos,

caras, clasificar acciones humanas en vídeo, hacer tracking de movimientos de

objetos, extraer modelos 3D, encontrar imágenes similares, eliminar ojos rojos,

seguir el movimiento de los ojos, reconocer escenarios.

pág. 6
Class VideoCapture

Permite la captura de vídeo desde archivos de vídeo, secuencias de imágenes o

cámaras. La clase proporciona la API de C++ para capturar vídeo de cámaras o para

leer archivos de vídeo y secuencias de imágenes. Aquí es cómo se puede utilizar la

clase: INCLUDE: samples/cpp/videocapture_basic.cpp Nota: En REF: videoio_c "API

de C" se utiliza la estructura de caja negra CvCapture en lugar de

%VideoCapture. Nota:

pág. 7
Constructores

Modificador Constructor Descripción

VideoCapture() Constructor predeterminado Nota: EnREF: videoio_c "C API", cuando termine de trabajar con
video, libere la estructura de CvCapture con cvReleaseCapture(), o usar Ptr<CvCapture> que llama
cvReleaseCapture() automatically en el destructor.

VideoCapture(int index) Abra una cámara para capturar vídeo

VideoCapture(int index, Abre una cámara para capturar vídeo


int apiPreference)

protected VideoCapture(long addr)

VideoCapture Abrir archivo de vídeo o secuencia de archivos de imagen o un dispositivo de captura o una
(java.lang.String filename) secuencia de vídeo IP para la captura de vídeo Igual que VideoCapture(const String& filename, int
apiPreference) pero usando backends predeterminados de Capture API

VideoCapture Abrir archivo de vídeo o un dispositivo de captura o una secuencia de vídeo IP para la captura de
(java.lang.String filename, vídeo con API Preference
int apiPreference)

pág. 8
Todos los métodos

Modificador y Tipo Método Descripción

static VideoCapture __fromPtr__(long addr)

protected void finalize()

double get(int propId)


Devuelve la propiedad VideoCapture especificada

java.lang.String getBackendName() Devuelve el nombre de API de back-end usado Nota: Se debe abrir Stream.

long getNativeObjAddr()

boolean grab() Toma el siguiente fotograma del archivo de vídeo o del dispositivo de captura.

boolean isOpened() Devuelve true si la captura de vídeo ya se ha inicializado.

boolean open(int index) Abrir una cámara para capturar vídeo Los parámetros son los mismos que el constructor
VideoCapture(int index)

boolean open(int cameraNum, Abrir una cámara para capturar vídeo Parámetros son similares al constructor VideoCapture(int
int apiPreference) index),excepto que toma un argumento adicional apiPreference.

pág. 9
boolean open(java.lang.String filename) Abrir archivo de vídeo o un dispositivo de captura o una secuencia de vídeo IP para la captura
de vídeo Parámetros son los mismos que el constructor VideoCapture(const String& filename)

boolean open(java.lang.String filename, Abrir archivo de vídeo o un dispositivo de captura o una secuencia de vídeo IP para la captura
int apiPreference) de vídeo con parámetros de preferencia de API son los mismos que el constructor
VideoCapture(const String& filename, int apiPreference)

boolean read(Mat image) Agarra, decodifica y devuelve el siguiente fotograma de vídeo.

void release() Cierra el archivo de vídeo o el dispositEstablece una propiedad en VideoCapture.ivo de


captura.

boolean retrieve(Mat image) Descodifica y devuelve el fotograma de vídeo capturado.

boolean retrieve(Mat image, int flag) Descodifica y devuelve el fotograma de vídeo capturado.

boolean set(int propId, double value) Establece una propiedad en VideoCapture.

https://docs.opencv.org/3.4/javadoc/org/opencv/videoio/VideoCapture.html

(team, 2020)

pág. 10
Conclusiones
• Opencv es una librería basada en C muy útil para el manejo de la cámara web, aunque

claramente es mucho más potente como para abrir la webcam, puesto que permite

reconocimiento fácil, temperatura, gesticulaciones e inteligencia artificial.

• Esta pre configura para trabajar principalmente con C/C++ y Python, aunque en Java es

un poco más intrincado el proceso de incluirla funciona con todas las opciones.

• Una gran mejora fui incluir opencv en versiones de Java para escritorio puesto que no

existía una versión que soportara la configuración de la JDK, esto es posible desde la

versión 2.4.x.x.x.

pág. 11
Bibliografía

Caules, C. Á. (22 de 10 de 2014). Blog sobre Java EE. Obtenido de


https://www.arquitecturajava.com/java-biginteger/

información, C. (12 de 03 de 2018). Cheblender.org. Obtenido de


https://www.cheblender.org/que-es-opencv/

Luigi De Russis, A. S. (2016). Obtenido de https://opencv-java-


tutorials.readthedocs.io/en/latest/

Perry, S. (12 de 03 de 2012). Conceptos básicos del lenguaje Java. Obtenido de


https://developer.ibm.com/es/technologies/java/tutorials/j-introtojava1/

team, O. (16 de 10 de 2020). opencv. Obtenido de https://opencv.org/

pág. 12

También podría gustarte