Analisis decodificación QR Code
|
|
|
- Nicolás Lara García
- hace 9 años
- Vistas:
Transcripción
1 Analisis decodificación QR Code Autores: Lázaro Pereira Javier Cardozo Santiago Báez Docentes: Andrés Aguirre Nicolás Furquez
2 Contenido Alcance del proyecto Gestión de riesgos Proceso técnico Análisis del problema Análisis del problema Analizar algoritmo de decodificación QR Code Patrones de localización Patrones temporizadores Patrones de alineamiento Versión Corrección de errores Información de formato Datos Colocación de Codewords en la matriz Máscaras de datos Conclusiones
3 Alcance del proyecto El alcance del proyecto es implementar un plugin que reconozca códigos QR a partir de una camera. Dicho plugin debe ser implementado en su totalidad en código Python. Gestión de riesgos Los riesgos identificados para el proyecto se apoyará en el Documento de riesgos del proyecto. Proceso técnico Sistema operativo Linux (Sugar) Lenguaje de programación Python 2.7 Análisis del problema La solución al problema podemos dividirlo en dos fases totalmente independientes: 1- Capturar la imagen desde la cámara web y luego transformarla a una matriz de 0 s y 1 s (binarizar la imagen). 2- Analizar algoritmo de decodificación QR Code 1-Análisis del problema - Captura y binarización de imagen La captura y binarización de la imagen del código QR se puede resumir a los siguientes pasos: 1- Realizar la captura de la imagen a través de una cámara. 2- Identificar las dimensiones de la matriz a binarizar. 3- Procesar la imagen y crear la matriz binaria a ser utilizada en la parte de decodificación. Para todos los pasos de este problema se utilizará la librería PyCV, la interfaz proporcionada para las librerías de OpenCV en Python, en mayor o menor medida. Captura de imagen La captura de la imagen se deberá llevar a cabo en un equipo con el sistema operativo ya indicado. Además deberá poseer las librerías necesarias para garantizar el funcionamiento de OpenCV. Para asegurar el correcto funcionamiento se realizará una implementación que tome la imagen de forma perpendicular con el fin de facilitar el procesamiento. En la sección de Trabajos a futuro se describen posibles mejoras del algoritmo que no son contempladas en este alcance pero pueden llegar a ser incluidas de ser suficiente el tiempo. Obs.: Por más información sobre la interface PyCV: Identificación de dimensiones La dimensión del código puede variar de acuerdo a la versión en la que se basa. Esta dimensión es importante ya que es la que permite la separación de varios módulos contiguos del mismo valor.
4 Para identificar la dimensión es necesario determinar la distancia entre los patrones localizadores ubicados en tres esquinas de la imagen del código y la cantidad de módulos entre ellos. Una vez se haya obtenido esta información se podrá construir la matriz binaria necesaria para la parte de decodificación. Procesamiento de imagen Una vez determinada la dimensión, será necesario realizar un procesamiento progresivo mediante un fraccionamiento de la imagen donde se procese fila por fila el código y se construya la matriz binaria necesaria para el algoritmo de decodificación. Trabajos a futuro Con los procesos actuales la captura de la imagen se llevará a cabo perpendicularmente y donde el código sea lo único en la imagen. Posteriormente se podría realizar un procesamiento en el cual se filtre de la imagen objetos que no sean parte del código, así como realizar un acondicionamiento que permita interpretar el código como si se encontrase perpendicular a la cámara. 2-Análisis del problema Analizar algoritmo de decodificación QR Code Podemos separar el problema de la decodificación en 5 pasos: 4- A partir de la matriz de 0 s y 1 s leer la información de formato, detectar y corregir posibles errores. Obtener el nivel de corrección de errores y el tipo de patrón de mascara de datos usado. Luego leer la orientación, patrones de temporizador, patrón de alineamiento. 5- Leer la región de codificación, en él podremos detectar la información de versión si está, la información del formato y los datos. 6- Pasar la máscara de datos a la matriz de unos y ceros, en la región de codificación, mediante una operación XOR, esto deshará la máscara. 7- Obtener los codewords de datos y de error de la región de codificación teniendo en cuenta su orden de colocación. 8- Detectar los posibles errores en los codewords de datos, utilizando los codewords de error y corregirlos. 9- Dividir los codewords corregidos en segmentos según los indicadores de modo y contadores de caracteres encontrados. En primera instancia se explicara la estructura del código. Hay 40 versiones de QR, la versión 1 tiene 21x21 módulos y la versión 40 tiene 177x177. Aquí se indican como se estructura el QR
5 A modo de ejemplos se muestra la versión 1 Patrones de localización Para detectar la orientación se debe buscar los 3 patrones de localización, que están formados por cuadrados rellenados por 3x3 módulos negros, rodeado por un cuadrado de 5x5 módulos blancos que a su vez está rodeado por otro cuadrado de 7x7 con módulos negros. Al momento de encontrar los 3 patrones de localización se puede ubicar la orientación que tiene el QR. La imagen a continuación indica cómo están formados los patrones de localización. Una vez localizados los tres patrones, hay que determinar la orientación del QR. Para ello se analizan las posiciones de los centros de cada patrón y se detecta cuál de ellos es el patrón superior izquierda. El hecho de haber detectado los patrones, nos da una idea de cuál es el ancho de módulo en pixeles de la imagen.
6 Patrones temporizadores Patrón de función que permite re sincronizar las coordenadas de mapeo del símbolo ante posibles distorsiones moderadas. Los patrones temporizador son dos, uno vertical y otro horizontal. Están formados por una línea o columna de módulos blancos y negros alternados, comenzando y terminando en un módulo negro. El temporizador horizontal cruza la fila número 6 entre los separadores superiores y el vertical igual pero cruzando la columna 6. Patrones de alineamiento Los patrones de alineamiento están formados por un módulo negro, rodeado de un cuadrado de 3x3 módulos blancos que a su vez está rodeado por otro cuadrado de 5x5 módulos negros. Su número en el símbolo varía según la versión. Versión Una manera de identificar la versión es contando la cantidad de módulos que tiene a lo largo el QR. Sabiendo la versión del símbolo, ya sabemos cuántos patrones de alineamiento posee el símbolo y su posición, en estas posiciones debemos buscar los patrones 11111, y el Obs.: Las versiones anteriores a la 7 no tienen información de versión, la versión 1 no tiene ningún patrón de alineamiento. Todas tienen tres patrones localizadores, dos patrones temporizadores, tres separadores y la información de formato por duplicado. Corrección de errores Los códigos QR emplean codificación de errores basada en algoritmos de Reed-Solomon, generando un conjunto de codewords de corrección de errores (ECC, Error Correction Codewords) que se añaden a los de datos aportando redundancia. Existen 4 niveles de corrección de errores en los símbolos QR: -L (Low). Puede corregir hasta el 7% de los codewords de datos del símbolo. -M (Medium). Puede corregir hasta el 15% de los codewords de datos del símbolo. -Q (Quality). Puede corregir hasta el 25% de los codewords de datos del símbolo. -H (High). Puede corregir hasta el 30% de los codewords de datos del símbolo. Obs.: Por más información sobre algoritmo de Reed-Solomon y Información de formato La información de formato es una secuencia de 15 módulos (bits), de los que 5 contienen datos y los otros 10 se emplean para corrección de errores en los 5 primeros, mediante un código BCH (15,5). De los 5 bits de datos, los dos primeros indican el nivel de corrección de error usado (L = 01; M = 00; Q = 11; H = 10) y los otros tres indican el patrón de la máscara de datos usada. Una vez calculados los 15 bits se les debe aplicar mediante la operación lógica XOR la máscara , para evitar una información de formato compuesta solo por bits a 0. La información de formato se ubica por duplicado (alrededor de los patrones de localización) en el símbolo QR, ya que su decodificación es esencial para la correcta decodificación del símbolo. Obs.: Por más información sobre código BCH
7 Datos Para definir bien la región de codificación es necesario encontrar los patrones temporizadores. Estos patrones nacen y terminan en un borde de los patrones localizadores, con una separación de un módulo blanco; este módulo blanco pertenece a un patrón separador. Los datos codificados, por su parte, se agrupan en conjuntos de 8, denominados codewords, que adoptan diversas formas según su ubicación en la estructura. La región de codificación es la región del símbolo no ocupada por patrones de función y sí por codewords de datos y de corrección de errores, así como por la información de formato y versión. Se denomina modo a la forma de representar un conjunto de datos como una cadena de caracteres. En los códigos QR hay diferentes modos diferentes de codificar la información: 1- Modo numérico. Dígitos (0-9). Densidad media de 10 bits para cada 3 caracteres. 2- Modo alfanumérico. 45 caracteres: 0-9, A-Z y otros 9 caracteres: espacio, $, %, :,., *, +, -, /). Densidad media de 11 bits para cada 2 caracteres. 3- Modo byte. Código binario según se define en JIS X bits por carácter. 4- Modo Kanji. Caracteres del alfabeto japonés según se define en Shift JIS. Densidad media de 13 bits para cada 2 caracteres. 5- Modo de estructuras apiladas. Para dividir la información en varios códigos QR relacionados. 6- Modo FNC1. Codificación de UCC/EAN (códigos de barras unidimensionales) o de cualquier otro estándar específico de la industria que esté aprobado por AIMI. 7-ECI (Extended Channel Interpretation, interpretación de canal extendido). Permite a los
8 flujos de datos de salida ser interpretados de forma diferente a los conjuntos de caracteres por defecto. El número total de codewords en el mensaje viene determinado por el tamaño de la región de codificación, que es el tamaño del símbolo menos el de los patrones de función. Este número total se dividirá en codewords de datos y codewords de corrección de errores, más los codewords restantes si son necesarios para completar la estructura del símbolo. Para construir la secuencia de codewords en el símbolo, los codewords de datos deben dividirse para poderles aplicar el algoritmo de Reed-Solomon en un cierto número de bloques, determinado por la versión y el nivel de corrección de errores seleccionado. Para cada uno de estos bloques se calculan los correspondientes codewords de corrección de errores de acuerdo a los coeficientes de los polinomios establecidos por el algoritmo. Colocación de Codewords en la matriz Los codewords normalmente tendrán la forma de 2x4 módulos, empezando por la parte inferior derecha del símbolo, subiendo primero hacia arriba hasta llegar al patrón localizador, luego pasamos a la columna adyacente izquierda y bajamos hasta abajo, para luego volver a subir. Los codewords se van colocando en zigzag. En la siguiente figura se muestra como sería la colocación de codewords en un símbolo versión 2. El orden de los bits de cada codeword varía cuando el codeword se coloca hacia arriba o hacia abajo: Si la capacidad total del símbolo no se llena con los codewords, se rellena con 3,4 o 7 bits de relleno. Máscaras de datos
9 La máscara se le aplica tanto a los codewords de datos como también a los de corrección de errores, mediante la operación XOR. Existen 8 patrones de mascara y se aplican todos y nos quedamos con el mejor resultado. Los patrones posibles y su código para la información de formato son los siguientes: Conclusiones 1- El presente algoritmo de decodificación si bien tiene algunas complejidades, no tiene limitaciones computacionales respecto al desarrollo exclusivo en Python. 2- Convertir una imagen a una matriz de bits 0 s y 1 s a priori tampoco se visualiza limitaciones computaciones para ser desarrollado en Python.
Ataque de texto claro escogido contra la clave de protocolo del cifrado de Doble Criptograma Simétrico
Ataque de texto claro escogido contra la clave de protocolo del cifrado de Doble Criptograma Simétrico Manuel J. Lucena López 27 de enero de 2013 Resumen Se presenta un ataque de texto claro escogido para
Compresión de imágenes
Compresión de imágenes Tipos de imágenes Desde el punto de vista de la compresión Binarias: Blanco y negro. Escala de grises, color y estacionarias de vídeo. Imágenes binarias Presentes en documentos que
Tema 2. Sistemas de representación de la información
Enunciados de problemas Tema 2. Sistemas de representación de la información Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 2: Hoja: 2 / 26 Tema 2: Hoja: 3 / 26
3. TÉCNICAS ARQ: SOLICITUD DE REPETICIÓN AUTOMÁTICA 4. TÉCNICAS FEC: CODIFICACIÓN PARA LA DETECCIÓN Y CORRECCIÓN DE ERRORES
Autora: Sofía Martín González. INTRODUCCIÓN Índice Departamento de Señales y Comunicaciones - ULPGC. TIPOS DE CONTROL DE ERRORES (ARQ y FEC) 3. TÉCNICAS ARQ: SOLICITUD DE REPETICIÓN AUTOMÁTICA 4. TÉCNICAS
CAPÍTULO 2. Desde el punto de vista más simple, hoy una imagen digital consiste de lo que se puede ver
CAPÍTULO 2 PROCESAMIENTO DE IMÁGENES 2.1 Imágenes Digitales Desde el punto de vista más simple, hoy una imagen digital consiste de lo que se puede ver como una matriz de miles o millones de píxeles cada
RECONOCIMIENTO DE MENSAJES EN CÓDIGO BRAILLE MEDIANTE TÉCNICAS DE PROCESADO DE IMÁGENES
PROCESAMIENTO DE IMÁGENES DIGITALES RECONOCIMIENTO DE MENSAJES EN TRABAJO REALIZADO POR: MANUEL CASAS ALAMINOS FRANCISCO JAVIER IGLESIAS RUIZ CURSO: 2013/2014 ÍNDICE: 1. INTRODUCCIÓN 2. PREPROCESADO 3.
Universidad Nacional Experimental Politécnica Antonio José de Sucre Vicerrectorado Barquisimeto Departamento de Ingeniería Electrónica
Universidad Nacional Experimental Politécnica Antonio José de Sucre Vicerrectorado Barquisimeto Departamento de Ingeniería Electrónica SISTEMA DE GENERACIÓN DE TIQUE ELECTRÓNICO EN TELÉFONOS INTELIGENTES
Código QR. Elvia Londres Samón. November 26, 2013
Código QR Elvia Londres Samón November 26, 2013 1 Introducción: Los QR-Codes fueron desarrollados por Denso -Wave en Japón en el año 1994. Hoy el 85 por ciento de todos los productos del mundo vienen con
Tema 4: Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid
Tema 4: Detección n y Corrección n de Errores Ingeniería Informática Universidad Autónoma de Madrid 1 Detección n y Corrección n de Errores O B J E T I V O S Conocer cómo pueden detectarse y prevenirse
Comunicación de datos
Comunicación de datos Primero se aplica una XOR al par de bits menos significativos; a continuación se aplica otra XOR a la salida de la operación anterior y al siguiente bit (más significativo), y así
Implantación de Sistemas Operativos 1º ASIR
Sistemas de Numeración Sistema decimal El sistema de numeración que utilizamos es el decimal, que se compone de diez símbolos o dígitos a los que otorga un valor dependiendo de la posición que ocupen en
INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco
PRÁCTICA MANEJO INTERNO DE DATOS. Objetivos
Objetivos a) El alumno será capaz de codificar y decodificar la representación de caracteres. b) El alumno realizará conversiones de números enteros entre distintas bases. Al final de esta práctica el
06 Introducción al procesamiento de imágenes BMP con ANSI C
06 Introducción al procesamiento de imágenes BMP con ANSI C Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco [email protected] Estructuras de datos (Prof. Edgardo
CODIFICADOR DE VITERBI PARA TELEVISION DIGITAL TERRESTRE: DECODIFICADOR DE VITERBI Y REED SOLOMON
CODIFICADOR DE VITERBI PARA TELEVISION DIGITAL TERRESTRE: DECODIFICADOR DE VITERBI Y REED SOLOMON Codificador de Reed-Solomon E l c o d i f i c a d o r R e e d - S o l o m o n c u e n t a c o n u n comportamiento
Documento de Requisitos. Estacionamiento Inteligente
Documento de Requisitos de Estacionamiento Inteligente Fecha 06/07/2012 Versión 0.2 Integrantes del grupo Francisco Becker Eduardo Castillo Víctor Fernández Ignacio Gómez Prefacio Este es el Documento
NÚMEROS UTILIZADOS EN ELECTRÓNICA DIGITAL
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION GUIA DE LABORATORIO #1 CICLO: 01/ 2016 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: Sistemas
Estructuras de Datos. Practica 06: Codificación de Huffman
M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Definición del problema Algoritmo de Huffman Pasos del código de Huffman Actividades
SEGMENTADO DE HUELLAS EN FICHAS DECADACTILARES
Captura y Procesamiento Digital de Señales e Imagenes Trabajo Final: SEGMENTADO DE HUELLAS EN FICHAS DECADACTILARES Barletta, juan Schinner, Sebastián Zarza, Gonzalo INTRODUCCION Limpieza y una Segmentación
Diagramas. En computación existen básicamente dos tipos de diagramas: diagramas de entradaproceso salida
Existen varias formas de representar una serie de pasos para realizar algún proceso. La forma más común es una lista numerada como lo haces con los algoritmos; pero esos pasos también se pueden representar
UNIVERSIDAD DON BOSCO TECNICO EN INGENIERIA EN COMPUTACION
UNIVERSIDAD DON BOSCO TECNICO EN INGENIERIA EN COMPUTACION CICLO 1/ 2019 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #1 Sistemas Numéricos Centro de Computo
Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)
Tema 1 Estructuras de datos (Prof. Edgardo A. Franco) Contenido Algoritmia Qué es un algoritmo? Métodos algorítmicos Diagrama de flujo Símbolos utilizados en los diagramas de flujo Reglas para la construcción
Práctica 5: Códigos Lineales
TRANSMISIÓN DE DATOS 2008/09 Práctica 5: Códigos Lineales Apellidos, nombre Apellidos, nombre Grupo Puesto Fecha 26 de Noviembre y 1y 4 de Diciembre del 2008 El objetivo de esta práctica es familiarizar
Triangulación de polígonos
Computación Geométrica Triangulación de polígonos Algoritmos iniciales Introducción a la Geometría Computacional Copyright 2010-2011 Universidad de Alicante 1 Índice Historia Conceptos previos Triangulación
Construcción de tablas de análisis sintáctico LL(1)
Construcción de tablas de análisis sintáctico LL(1) Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática Diego Centeno Gerardo Cortés Juan Diego Alfaro Resumen. A la medida en
COMPRESIÓN DE MENSAJES
COMPRESIÓN DE MENSAJES Codificación por Huffman y Codificación Aritmética. Jose Alberto Benítez Andrades Juan Antonioo Valbuena López 2º Ingeniería Informática Teoría de la Información y Códigos Universidad
3.6. Ejercicios del Capítulo
3.6. EJERCICIOS DEL CAPÍTULO 61 El equivalente decimal de la combinación C 4, C 2, C 1 es un 3. Siguiendo la metodología se invierte el bit 3 y obtenemos 1010101. Después de esta operación, no sólo no
Realizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma:
Realizar la siguiente suma y expresar el resultado en hexadecimal: 83/ d + 33/ 4 + 0/ b El primer paso consiste en expresar todos lo valores con la misma base. Para eso convertiremos los dos primeros valores
Detección y corrección de errores mediante el Código Hamming
H é c t o r A r t u r o F l ó r e z F e r n á n d e z - N o r b e r t o N o v o a T o r r e s V Í N C U L O S J U L I O D E 2 0 1 2 VOLUMEN 9 NÚMERO 2 Detección y corrección de errores mediante el Código
Introducción a los códigos lineales 11
Introducción a los códigos lineales. INTRODUCCIÓN A LOS CÓDIGOS LINEALES Una de las aplicaciones más recientes del álgebra lineal es a la teoría de códigos, que trata el problema de representar información
Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño
Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita
Taller No. 6 Final Electrónica digital (Multiplexores y demultiplexores)
Taller No. 6 Final Electrónica digital (Multiplexores y demultiplexores) CONCEPTOS PREVIOS MULTIPLEXORES: Los multiplexores son circuitos combinacionales con varias entradas y una salida de datos, y están
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN TEMA 3. Aritmética y codificación 3.1 Aritmética binaria 3.2 Formatos de los números y su representación 3.3 Definiciones
Análisis de algoritmos
Practica 03: Codificación voraz de Huffman M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Definición del problema Algoritmo
8. Código de barras El código de barras es un código basado en la representación mediante un conjunto de líneas paralelas verticales de distinto
8. Código de barras El código de barras es un código basado en la representación mediante un conjunto de líneas paralelas verticales de distinto grosor y espaciado que en su conjunto contienen una determinada
banda, mayor es la distorsión, y mayor es la probabilidad de que se cometan errores en el receptor.
banda, mayor es la distorsión, y mayor es la probabilidad de que se cometan errores en el receptor. Figura 1.10 Componentes en frecuencia de una onda cuadrada (T = 1/f). En la figura 1.11 se muestra una
3 Fundamentos y algoritmos de visión artificial
3. Descripción de los procesos utilizados En esta aplicación el problema de visión artificial que se plantea es la discriminación y localización de una serie de objetos, concretamente discos circulares
CURSO 2016/2017 INFORMÁTICA 1ºBCH. La codificación es. Por qué se. Fíjate en. la imagen de decirle que si. cero. decimal: 1* *2 3.
INFORMÁTICA 1ºBCH 1. CODIFICACIÓN DE LA INFORMACIÓN La codificación es el método que permite epresentar la información utilizando un conjunto de símbolos que se combinan siguiendo determinadas reglas.
NORMA TÉCNICA NTC-EN COLOMBIANA 797
NORMA TÉCNICA NTC-EN COLOMBIANA 797 1994-11-24 CODIFICACIÓN POR BARRAS. ESPECIFICACIONES DE SIMBOLOGÍA. CÓDIGO EAN/UPC E: BAR CODING. SYMBOLOGY SPECIFICATIONS. EAN/UPC. CORRESPONDENCIA: DESCRIPTORES: esta
Teoría de Información y Codificación Ejercicios adicionales (corresponden a la segunda mitad de la materia)
Teoría de Información y Codificación Ejercicios adicionales (corresponden a la segunda mitad de la materia) 1. Demostrar que en un código binario lineal la distancia mínima es igual a a) el mínimo peso
SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97
SISTEMAS DE NUMERACIÓN Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. La norma principal en un sistema de numeración posicional es que un mismo símbolo
Análisis de algoritmos
Practica 04: Codificación voraz de Huffman Entrega vía Web: 05 de Julio de 2015 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom [email protected] 1 Contenido
Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez
Maquina de Turing 5. Fundamentos de algoritmos MI Elizabeth Fonseca Chávez matemático inglés Alan Turing Turing Definición de algoritmo: conjunto ordenado de operaciones que permite hallar la solución
Codificador Decodificador ISBN EAN13 (GTK2.0,GdkPixbuf,GDK & GCC)
(GTK2.0,GdkPixbuf,GDK & GCC) Jose Alberto Benítez Andrades 2ºIngeniería Informática, DNI:71454586A Índice INTRODUCCIÓN 1.DESCRIPCIÓN DEL MÉTODO: CODIFICACIÓN DECODIFICACIÓN 2.ALGORITMOS DE RESOLUCIÓN 3.PROGRAMACIÓN
Examen correspondiente a la evaluación alternativa. Procesamiento de imágenes digitales curso 2007/2008
Examen correspondiente a la evaluación alternativa Procesamiento de imágenes digitales curso 2007/2008 Cada respuesta correcta puntúa 0.25. Cada respuesta incorrecta puntúa -0.05. 1. Cuál de las siguientes
ALGORITMO. Podemos encontrar muchas definiciones de algoritmo en los textos de programación, todas ellas muy similares:
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente en términos de instrucciones de un lenguaje, sino
Instituto José Manuel Estrada - Villa de Soto. Asignatura: Desarrollo de Soluciones Informáticas. Curso: 5to I. Docente: Contreras, María Elena
- Villa de Soto Asignatura: Desarrollo de Soluciones Informáticas Curso: 5to I Docente: Contreras, María Elena Contenido Algoritmos... 1 Diagramas de flujo... 2 Programar... 3 Programación... 10 Scratch...
LÓGICA SECUENCIAL Y COMBINATORIA
LÓGICA SECUENCIAL Y COMBINATORIA SESIÓN # 2 1.4 Conversión de otra base a decimal. En los sistemas numéricos posicionales, la conversión de otra base a decimal se hace con el método de la suma [3]. Este
CÓDIGO HAMMING. A continuación se explicará el caso más para la transmisión de palabras de 4 bits.
CÓDIGO HAMMING PROPIEDADES: El código de Hamming sirve es un código de distancia 3. Dicho código, consiste en agregar una cierta cantidad de bits adicionales llamados Bits de Paridad ; la cantidad (K)
Conceptos y definiciones básicos en computación
UNIVERSIDAD MICHOACANA DE SAN NICOLÁS DE HIDALGO FACULTAD DE INGENIERIA ELECTRICA Laboratorio de Herramientas Computacionales Conceptos y definiciones básicos en computación M.I. Rosalía Mora Lab. Juárez
Profesor(a): Ing. Miriam Cerón Brito
Área Académica: Informática Tema: Hoja electrónica Profesor(a): Ing. Miriam Cerón Brito Periodo: Enero Junio 2014 Abstract: This presentation show the spreadsheet's characteristics and show the principals
Tema 2. Sistemas de representación de la información
Tema 2. Sistemas de representación de la información Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 2: Hoja: 2 / 36 Tema 2: Hoja:
Práctica 5. Códigos Huffman y Run-Length
EC2422. Comunicaciones I Enero - Marzo 2009 Práctica 5. Códigos Huffman y Run-Length 1. Objetivos 1.1. Simular, usando MATLAB, un codificador y decodificador Huffman a fin de estudiar sus características
Códigos QR Javier Luque Ordóñez [email protected]
AUTORES CIENTÍFICO-TÉCNICOS Y ACADÉMICOS Javier Luque Ordóñez [email protected] QR. Conceptos principales Qué son los códigos QR? Un código QR (Quick Response code, código de respuesta rápida) es un método
Colegio Diocesano San José de Carolinas
Tema 1. Representación digital de la información 1. Introducción. Los ordenadores son máquinas digitales y como tales operan con información representada en formato binario. La unidad elemental de información
Introducción a la programación: Algoritmos
Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,
Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores
Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de
Secuencia de arranque de un computador. Estructura lógica del disco duro de una PC
Secuencia de arranque de un computador Todos los computadores disponen de un pequeño programa almacenado en memoria ROM (Read Only Memory, memoria de sólo lectura), encargado de tomar el control del computador
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información Organización del Computador CI-3815
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información Organización del Computador CI-385 Proyecto Objetivos Generales: realizar un programa en lenguaje de bajo nivel del
Universidad Nacional del Nordeste. Facultad de Ciencias Exactas y Naturales y Agrimensura. Cátedra: Comunicaciones de Datos.
Universidad Nacional del Nordeste Facultad de Ciencias Exactas y Naturales y Agrimensura Cátedra: Comunicaciones de Datos Año: 207 Trabajos Prácticos Series,2,3 y 4 Series Prácticas Comunicaciones de Datos
Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).
PLANTEMAIENTO DEL PROBLEMA Identificación de entradas y salidas Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y
Procesamiento Digital de Imágenes
Unidad VI: Compresión de imágenes II p. 1/24 Procesamiento Digital de Imágenes Unidad VI (b): Compresión de imágenes con pérdidas Departamento de Informática - FICH Universidad Nacional del Litoral 20
Prueba II. Procesamiento Digital de Imágenes
Prueba II Procesamiento Digital de Imágenes Nombre: Firma: Fecha: /nov/2005.- Escriba el pseudo código para implementar la operación morfológica dilatación, con el siguiente elemento estructurante : función
INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION
INTRODUCCIÓN A LA PROGRAMACIÓN POR COMPUTADORA Muchos usuarios creen que la programación es simplemente teclear palabras en una computadora. Eso es una parte, pero de ninguna manera todo. La programación
Vemos, pues, que esta forma de organizar los datos es mucho más potente que utilizando las tabulaciones u otros métodos.
Unidad 8. Tablas (I) Las tablas permiten organizar la información en filas y columnas, de forma que se pueden realizar operaciones y tratamientos sobre las filas y columnas. Por ejemplo, obtener el valor
MANUAL DE USUARIO PEF REGISTRO DE PROYECTOS CIENCIA Y TECNOLOGIA
MANUAL DE USUARIO PEF REGISTRO DE PROYECTOS CIENCIA Y TECNOLOGIA 2017 2017 2 de 21 INTRODUCCIÓN Manual de usuario para el acceso al sistema PEF-Registro de Proyectos de la H. Cámara de Diputados para ciencia
PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI
PROTOCOLO IP Tema 1 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto Cada dispositivo de una red debe definirse en forma exclusiva. En la capa de red, es necesario identificar los paquetes de la transmisión
RECONOCIMIENTO DE PATRONES EMPLEANDO REDES NEURONALES BOOLEANAS. APLICACIÓN AL RECONOCIMIENTO FACIAL N.I.A.:.: N.I.A.:.
RECONOCIMIENTO DE PATRONES EMPLEANDO REDES NEURONALES BOOLEANAS. APLICACIÓN AL RECONOCIMIENTO FACIAL Alfonso Mateos Andaluz Pablo Javier Borches Juzgado N.I.A.:.: 100027597 N.I.A.:.: 100021524 1 Introducción
Un algoritmo es una serie de pasos lógicos y organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
ALGORITMIA 1 Definición de Programa (Algoritmo) Un algoritmo es una serie de pasos lógicos y organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 2 Tipos
Algoritmo. Programa. Lenguaje algorítmico
ESCUELA DE EDUCACION SECUNDARIA TECNICA N 3 LENGUAJE ELECTRONICO PROFESOR: PAOLO, MARCOS GERMAN TEMA: ALGORITMOS Algoritmo Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y
LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1)
LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1) 1. CONVERSORES DE CODIGO La disponibilidad de una gran variedad de códigos para los mismos elementos discretos de información origina el uso de
Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.
Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora. La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que
Contenidos: Definiciones:
Contenidos: Definiciones. Esquema de un ordenador. Codificación de la información. Parámetros básicos de un ordenador. Programas e instrucciones. Proceso de ejecución de una instrucción. Tipos de instrucciones.
Operaciones a nivel bit
Operaciones a nivel bit En primer lugar veamos la necesidad de trabajar a nivel bit, y creo que la mejor forma es dando un ejemplo práctico. Supongamos que obtuvimos un código de Huffman sobre unos caracteres
Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se
Definición de diagrama de flujo Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se visualiza dentro del
Aplicaciones de la teoría de grupos, anillos y cuerpos: Teoría de la Codificación
Aplicaciones de la teoría de grupos, anillos y cuerpos: Teoría de la Codificación Como un ejemplo de aplicación de la teoría de las estructuras algebraicas vamos a ver en esta sección un aspecto de la
APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES
Cátedra de COMPUTACION Carreras: Licenciatura en Matemática Profesorado en Matemática Profesora: Mgr. María del Carmen Varaldo APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS
Lógica: Algoritmo: Archivo: Base de datos: Bit:
Lógica: Algoritmo: Archivo: Base de datos: Bit: 1 LÓGICA: Es una secuencia de operaciones realizadas por el hardware o por el software. Lógica del hardware, Son los circuitos y Chips que realizan las operaciones
Etapas en la solución de un problema
Algoritmo Conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema. Etapas en la solución de un problema Problema Análisis profundo del problema Construcción
Capacidad : Número de valores diferentes que puede representar un código. Depende del número de dígitos usados.
CAPITULO Nº2 CÓDIGOS. 2.1 Definiciones. Funciones de la codificación: Transmitir en forma fácil, rápida y segura los datos. Facilitar el procesamiento de datos. Descubrir y corregir errores. Mantener en
Autómata Programable (PLC)
Autómata Programable (PLC) UPCO ICAI Departamento de Electrónica y Automática 1 Hardware del autómata Sistema digital basado en un microprocesador CPU Reloj Marca el funcionamiento de todo el sistema (20
