Manipulación del contraste de una imágen monocromática por transformación exponencial (Python OpenCV)
Transformación exponencial opencv y Python2.7
Python2.7 y OpenCV
Transformación Exponencial con OpenCV y Python2.7
El documento presenta 20 ejemplos de programas en C que ilustran diferentes conceptos del lenguaje como la estructura básica de un programa, definición y uso de variables, tipos de datos, operadores, estructuras de control (if-else, switch, while, for), funciones, cadenas de caracteres y entrada/salida. Los ejemplos van desde programas sencillos hasta otros más complejos que muestran el uso combinado de diferentes características del lenguaje.
Solución Numérica de Ecuaciones no Lineales:Métodos cerradosPervys Rengifo
Este documento describe los métodos cerrados para resolver ecuaciones no lineales. Estos métodos se basan en el teorema de Bolzano, el cual establece que si una función continua cambia de signo en un intervalo, entonces existe al menos una raíz en ese intervalo. Los métodos cerrados iterativos, como el método de bisección y regla falsa, reducen sistemáticamente un intervalo hasta encontrar una raíz con la precisión deseada, siempre que la función sea continua y cambie de signo en el intervalo inicial.
Este documento describe el método de diferencias divididas finitas para aproximar numéricamente las derivadas. Se explica que este método representa la derivada como la diferencia entre dos puntos dividida por el tamaño del paso, y que esta aproximación se conoce como la primera diferencia dividida finita. También se mencionan que existen otras aproximaciones a las derivadas primeras que usan diferencias hacia atrás o centrales.
Una integral múltiple es una integral definida aplicada a funciones de más de una variable real. La integral múltiple de una función positiva de dos variables sobre una región del plano se interpreta como el volumen entre la superficie definida por la función y el plano en esa región, mientras que la integral triple de una función de tres variables se interpreta como un hipervolumen. Las integrales múltiples se representan anidando signos de integración y se definen formalmente como el límite de la suma de Riemann de aproximaciones de la magnitud del espacio entre la función y
Los métodos de intervalos se basan en el cambio de signo de una función cerca de una raíz, lo que requiere al menos dos valores que delimitan un intervalo que contenga la raíz. Estos métodos utilizan estos cambios de signo para ubicar la raíz al establecer un intervalo inicial.
El documento describe los diferentes tipos de errores que pueden ocurrir en métodos numéricos. Explica el error absoluto y el error relativo, y cómo se calculan. Luego describe tres tipos principales de errores: errores inherentes debido a limitaciones en mediciones; errores de redondeo que ocurren al redondear resultados; y errores por truncamiento relacionados a ignorar dígitos menos significativos. El documento provee fórmulas para calcular estos errores.
El documento describe el método de Otsu para la segmentación por umbralización de imágenes. El método de Otsu selecciona automáticamente el umbral óptimo que maximiza la varianza entre clases. El umbral óptimo divide la imagen en dos clases que minimizan la superposición de intensidades de grises entre ellas. El método también se puede extender para múltiples umbrales y clases.
El documento presenta 20 ejemplos de programas en C que ilustran diferentes conceptos del lenguaje como la estructura básica de un programa, definición y uso de variables, tipos de datos, operadores, estructuras de control (if-else, switch, while, for), funciones, cadenas de caracteres y entrada/salida. Los ejemplos van desde programas sencillos hasta otros más complejos que muestran el uso combinado de diferentes características del lenguaje.
Solución Numérica de Ecuaciones no Lineales:Métodos cerradosPervys Rengifo
Este documento describe los métodos cerrados para resolver ecuaciones no lineales. Estos métodos se basan en el teorema de Bolzano, el cual establece que si una función continua cambia de signo en un intervalo, entonces existe al menos una raíz en ese intervalo. Los métodos cerrados iterativos, como el método de bisección y regla falsa, reducen sistemáticamente un intervalo hasta encontrar una raíz con la precisión deseada, siempre que la función sea continua y cambie de signo en el intervalo inicial.
Este documento describe el método de diferencias divididas finitas para aproximar numéricamente las derivadas. Se explica que este método representa la derivada como la diferencia entre dos puntos dividida por el tamaño del paso, y que esta aproximación se conoce como la primera diferencia dividida finita. También se mencionan que existen otras aproximaciones a las derivadas primeras que usan diferencias hacia atrás o centrales.
Una integral múltiple es una integral definida aplicada a funciones de más de una variable real. La integral múltiple de una función positiva de dos variables sobre una región del plano se interpreta como el volumen entre la superficie definida por la función y el plano en esa región, mientras que la integral triple de una función de tres variables se interpreta como un hipervolumen. Las integrales múltiples se representan anidando signos de integración y se definen formalmente como el límite de la suma de Riemann de aproximaciones de la magnitud del espacio entre la función y
Los métodos de intervalos se basan en el cambio de signo de una función cerca de una raíz, lo que requiere al menos dos valores que delimitan un intervalo que contenga la raíz. Estos métodos utilizan estos cambios de signo para ubicar la raíz al establecer un intervalo inicial.
El documento describe los diferentes tipos de errores que pueden ocurrir en métodos numéricos. Explica el error absoluto y el error relativo, y cómo se calculan. Luego describe tres tipos principales de errores: errores inherentes debido a limitaciones en mediciones; errores de redondeo que ocurren al redondear resultados; y errores por truncamiento relacionados a ignorar dígitos menos significativos. El documento provee fórmulas para calcular estos errores.
El documento describe el método de Otsu para la segmentación por umbralización de imágenes. El método de Otsu selecciona automáticamente el umbral óptimo que maximiza la varianza entre clases. El umbral óptimo divide la imagen en dos clases que minimizan la superposición de intensidades de grises entre ellas. El método también se puede extender para múltiples umbrales y clases.
Este documento introduce el concepto de error en la interpolación y proporciona una fórmula para estimar dicho error. Explica cómo se puede aproximar una función desconocida f(x) mediante un polinomio de interpolación pn(x) y define el error como la diferencia f(x) - pn(x). Luego deriva una expresión que estima el error En(x) en términos de la derivada (n+1)-ésima de f evaluada en un punto z del intervalo.
Este documento describe diferentes técnicas de modulación como NRZ-L, NRZI, NRZ, codificación diferencial, Manchester y violación de código. Explica las ventajas y desventajas de NRZ, NRZI y codificación AMI. También describe los esquemas B8ZS y HDB3 de violación de código y sus características.
Este documento describe el método de la secante para encontrar raíces de ecuaciones en Scilab. Explica que el método de la secante aproxima la derivada de una función usando diferencias finitas y traza una línea secante entre dos puntos para encontrar donde corta el eje X. Luego presenta el código de Scilab implementando este método y un ejemplo encontrando la raíz de la función f(x) = exp(-x2) - x.
Este documento describe tres métodos iterativos para resolver sistemas de ecuaciones lineales: el método de Jacobi, el método de Gauss-Seidel y el método de Gauss-Seidel con relajación. Explica los pasos para implementar cada método y provee un ejemplo numérico para ilustrar cómo se aplican. Concluye que el método de Gauss-Seidel converge más rápido que el método de Jacobi y que el método de Gauss-Seidel con relajación puede acelerar aún más la convergencia.
Los métodos iterativos se utilizan para resolver problemas que involucran un gran número de variables mediante aproximaciones sucesivas a la solución. Para sistemas lineales, los principales métodos iterativos son los métodos iterativos estacionarios y los métodos del subespacio de Krylov como el método del gradiente conjugado. Estos métodos forman una base ortogonal y convergen en un número finito de iteraciones, aunque en la práctica suelen alcanzar precisión suficiente antes debido a errores numéricos.
Este documento presenta la resolución de varios ejercicios relacionados con métodos numéricos para encontrar raíces de ecuaciones. En el primer ejercicio, se aplican los métodos de punto fijo y Newton-Raphson para encontrar raíces de dos ecuaciones. En el segundo ejercicio, se usan los métodos de bisección, Newton-Raphson y gráficas para aproximar raíces. Los siguientes ejercicios involucran aplicar métodos como secante, falsa posición y punto fijo para resolver ecuaciones.
El documento describe el proceso de conversión de un autómata finito no determinista (AFN) a un autómata finito determinista (AFD). Se presenta un ejemplo de un AFN y se muestra cada paso del proceso de conversión, incluyendo la eliminación de ambigüedades, la agregación de estados de aceptación y la construcción del AFD resultante.
El documento describe las tres operaciones básicas de transformación bidimensional: escalamiento, rotación y traslación. Escalamiento modifica el tamaño de un polígono multiplicando las coordenadas por factores de escala, rotación gira el objeto en torno a un punto pivote especificando un ángulo, y traslación mueve el objeto en línea recta cambiando las coordenadas. OpenGL incluye funciones como glTranslatef(), glRotatef() y glScalef() para aplicar estas transformaciones.
El documento describe varios criterios para codificar señales de información generadas por usuarios, incluyendo su inmunidad al ruido, espectro y capacidad de sincronización y detección de errores. La solución es codificar la señal usando un codificador de canal para agregar redundancia y permitir la detección y corrección de errores. Se describen varios códigos de línea comunes como NRZ, AMI, Manchester y sus ventajas y desventajas.
Este documento resume tres métodos numéricos para resolver ecuaciones no lineales: el método de bisección, el método de la secante y el método de Newton-Raphson. El método de bisección divide repetidamente un intervalo en dos hasta aproximar una raíz. El método de la secante usa las secantes de puntos sucesivos para encontrar una nueva aproximación. El método de Newton-Raphson calcula la tangente en un punto para encontrar una mejor aproximación, requiriendo el cálculo de la derivada.
Este documento describe cómo trazar curvas de una función gráficamente. Explica cómo una tabla de valores de x e y permite visualizar el comportamiento de una función y encontrar sus puntos críticos derivando la función para determinar dónde se iguala a cero. También describe cómo encontrar el punto de inflexión derivando la función por segunda vez y igualándola a cero.
Este documento describe el método numérico de la bisección para calcular raíces reales de ecuaciones no lineales. El método de la bisección itera dividendo el intervalo que contiene la raíz a la mitad en cada paso hasta alcanzar la precisión deseada. El documento explica la convergencia del método y cómo implementarlo computacionalmente usando MATLAB.
Este documento presenta una introducción a la lógica difusa. Explica los conceptos básicos de conjuntos y relaciones difusos, incluyendo funciones de pertenencia, propiedades y operaciones. También describe cómo las reglas difusas pueden representarse como relaciones difusas basadas en conjunciones y implicaciones. El objetivo es proporcionar una comprensión fundamental de esta lógica que permite representar conocimiento vago.
Este documento describe la historia y definición formal del concepto matemático de límite. Explica que los antiguos griegos utilizaban conceptos basados en límites para calcular áreas. Más tarde, en los siglos XVII y XIX, matemáticos como John Wallis, Louis Cauchy y Karl Weierstrass formularon definiciones más precisas del límite, culminando con la definición formal de Weierstrass usando épsilon y delta. Los límites son fundamentales en análisis matemático para definir conceptos como convergencia, contin
Este documento resume los conceptos fundamentales de las telecomunicaciones digitales. Explica que la transmisión digital consta de dos etapas: la transmisión en banda base digital mediante códigos de línea, y la modulación de banda lateral mediante técnicas como ASK, PSK y QAM. También describe los tipos de líneas de transmisión, códigos de línea comunes como NRZ, RZ y AMI, y el propósito de estos códigos al codificar señales digitales para su transmisión.
Este documento describe diferentes tipos de codificación de línea y canal utilizados para la transmisión digital de datos. Explica códigos de línea como NRZ, RZ y bifase, que codifican la señal respecto a su amplitud y tiempo. También describe códigos de canal que añaden redundancia para detectar y corregir errores introducidos durante la transmisión. El documento proporciona detalles sobre parámetros clave como la tasa de codificación y distancia entre palabras para diferentes esquemas de codificación.
Este documento presenta diferentes métodos numéricos para aproximar derivadas mediante diferencias finitas. Explica cómo usar la serie de Taylor para derivar fórmulas de diferenciación numérica hacia adelante, hacia atrás y centrales de primer orden y orden superior. También cubre el método de la secante utilizando diferencias finitas y proporciona ejemplos y gráficas para ilustrar los conceptos.
Este documento describe los métodos numéricos y la aproximación numérica. Explica que los métodos numéricos son procedimientos alternativos para resolver problemas matemáticos mediante operaciones aritméticas en lugar de métodos analíticos. También describe conceptos como la exactitud, precisión, convergencia y estabilidad de los métodos numéricos. Finalmente, señala que no existe un mejor método numérico sino que se debe seleccionar el adecuado considerando factores como el tipo de problema, modelo matemático, equipo disponible y complejidad
El documento habla sobre tablas de transición y de símbolos. Explica que la tabla de transición representa los estados y símbolos de entrada de un autómata y cómo diseñarla. También cubre el tratamiento de errores léxicos y la tabla de símbolos, la cual almacena información sobre identificadores como funciones y variables. Finalmente, presenta ejemplos de tablas de transición y operaciones de la tabla de símbolos.
La modulación ASK (Amplitude Shift Keying) permite transmitir datos digitales alterando la amplitud de una señal portadora. En ASK, los valores binarios 0 y 1 se representan con dos amplitudes diferentes, siendo cero usualmente uno de los valores. El ancho de banda mínimo necesario para ASK es igual a la tasa de baudios. La tasa de bits es igual a la tasa de baudios cuando cada símbolo transmite un bit.
Este documento describe diferentes métodos para manipular el contraste de imágenes, incluyendo métodos locales como ampliar la escala de grises y aplicar transformaciones de imágenes, y métodos globales como ecualizar el histograma y usar tablas de consulta de valores. Explica cómo cada método modifica los niveles de gris para mejorar el contraste general de la imagen.
Este documento describe la aplicación de matrices en el procesamiento de imágenes digitales. Explica conceptos básicos de matrices y sus operaciones. Luego, describe cómo las imágenes digitales pueden representarse mediante matrices y cómo varios filtros como ajuste de canales, brillo, inversión de colores y escala de grises se pueden aplicar a través de operaciones con matrices. Finalmente, menciona el software desarrollado para aplicar estos filtros mediante procesamiento matricial de imágenes.
Este documento introduce el concepto de error en la interpolación y proporciona una fórmula para estimar dicho error. Explica cómo se puede aproximar una función desconocida f(x) mediante un polinomio de interpolación pn(x) y define el error como la diferencia f(x) - pn(x). Luego deriva una expresión que estima el error En(x) en términos de la derivada (n+1)-ésima de f evaluada en un punto z del intervalo.
Este documento describe diferentes técnicas de modulación como NRZ-L, NRZI, NRZ, codificación diferencial, Manchester y violación de código. Explica las ventajas y desventajas de NRZ, NRZI y codificación AMI. También describe los esquemas B8ZS y HDB3 de violación de código y sus características.
Este documento describe el método de la secante para encontrar raíces de ecuaciones en Scilab. Explica que el método de la secante aproxima la derivada de una función usando diferencias finitas y traza una línea secante entre dos puntos para encontrar donde corta el eje X. Luego presenta el código de Scilab implementando este método y un ejemplo encontrando la raíz de la función f(x) = exp(-x2) - x.
Este documento describe tres métodos iterativos para resolver sistemas de ecuaciones lineales: el método de Jacobi, el método de Gauss-Seidel y el método de Gauss-Seidel con relajación. Explica los pasos para implementar cada método y provee un ejemplo numérico para ilustrar cómo se aplican. Concluye que el método de Gauss-Seidel converge más rápido que el método de Jacobi y que el método de Gauss-Seidel con relajación puede acelerar aún más la convergencia.
Los métodos iterativos se utilizan para resolver problemas que involucran un gran número de variables mediante aproximaciones sucesivas a la solución. Para sistemas lineales, los principales métodos iterativos son los métodos iterativos estacionarios y los métodos del subespacio de Krylov como el método del gradiente conjugado. Estos métodos forman una base ortogonal y convergen en un número finito de iteraciones, aunque en la práctica suelen alcanzar precisión suficiente antes debido a errores numéricos.
Este documento presenta la resolución de varios ejercicios relacionados con métodos numéricos para encontrar raíces de ecuaciones. En el primer ejercicio, se aplican los métodos de punto fijo y Newton-Raphson para encontrar raíces de dos ecuaciones. En el segundo ejercicio, se usan los métodos de bisección, Newton-Raphson y gráficas para aproximar raíces. Los siguientes ejercicios involucran aplicar métodos como secante, falsa posición y punto fijo para resolver ecuaciones.
El documento describe el proceso de conversión de un autómata finito no determinista (AFN) a un autómata finito determinista (AFD). Se presenta un ejemplo de un AFN y se muestra cada paso del proceso de conversión, incluyendo la eliminación de ambigüedades, la agregación de estados de aceptación y la construcción del AFD resultante.
El documento describe las tres operaciones básicas de transformación bidimensional: escalamiento, rotación y traslación. Escalamiento modifica el tamaño de un polígono multiplicando las coordenadas por factores de escala, rotación gira el objeto en torno a un punto pivote especificando un ángulo, y traslación mueve el objeto en línea recta cambiando las coordenadas. OpenGL incluye funciones como glTranslatef(), glRotatef() y glScalef() para aplicar estas transformaciones.
El documento describe varios criterios para codificar señales de información generadas por usuarios, incluyendo su inmunidad al ruido, espectro y capacidad de sincronización y detección de errores. La solución es codificar la señal usando un codificador de canal para agregar redundancia y permitir la detección y corrección de errores. Se describen varios códigos de línea comunes como NRZ, AMI, Manchester y sus ventajas y desventajas.
Este documento resume tres métodos numéricos para resolver ecuaciones no lineales: el método de bisección, el método de la secante y el método de Newton-Raphson. El método de bisección divide repetidamente un intervalo en dos hasta aproximar una raíz. El método de la secante usa las secantes de puntos sucesivos para encontrar una nueva aproximación. El método de Newton-Raphson calcula la tangente en un punto para encontrar una mejor aproximación, requiriendo el cálculo de la derivada.
Este documento describe cómo trazar curvas de una función gráficamente. Explica cómo una tabla de valores de x e y permite visualizar el comportamiento de una función y encontrar sus puntos críticos derivando la función para determinar dónde se iguala a cero. También describe cómo encontrar el punto de inflexión derivando la función por segunda vez y igualándola a cero.
Este documento describe el método numérico de la bisección para calcular raíces reales de ecuaciones no lineales. El método de la bisección itera dividendo el intervalo que contiene la raíz a la mitad en cada paso hasta alcanzar la precisión deseada. El documento explica la convergencia del método y cómo implementarlo computacionalmente usando MATLAB.
Este documento presenta una introducción a la lógica difusa. Explica los conceptos básicos de conjuntos y relaciones difusos, incluyendo funciones de pertenencia, propiedades y operaciones. También describe cómo las reglas difusas pueden representarse como relaciones difusas basadas en conjunciones y implicaciones. El objetivo es proporcionar una comprensión fundamental de esta lógica que permite representar conocimiento vago.
Este documento describe la historia y definición formal del concepto matemático de límite. Explica que los antiguos griegos utilizaban conceptos basados en límites para calcular áreas. Más tarde, en los siglos XVII y XIX, matemáticos como John Wallis, Louis Cauchy y Karl Weierstrass formularon definiciones más precisas del límite, culminando con la definición formal de Weierstrass usando épsilon y delta. Los límites son fundamentales en análisis matemático para definir conceptos como convergencia, contin
Este documento resume los conceptos fundamentales de las telecomunicaciones digitales. Explica que la transmisión digital consta de dos etapas: la transmisión en banda base digital mediante códigos de línea, y la modulación de banda lateral mediante técnicas como ASK, PSK y QAM. También describe los tipos de líneas de transmisión, códigos de línea comunes como NRZ, RZ y AMI, y el propósito de estos códigos al codificar señales digitales para su transmisión.
Este documento describe diferentes tipos de codificación de línea y canal utilizados para la transmisión digital de datos. Explica códigos de línea como NRZ, RZ y bifase, que codifican la señal respecto a su amplitud y tiempo. También describe códigos de canal que añaden redundancia para detectar y corregir errores introducidos durante la transmisión. El documento proporciona detalles sobre parámetros clave como la tasa de codificación y distancia entre palabras para diferentes esquemas de codificación.
Este documento presenta diferentes métodos numéricos para aproximar derivadas mediante diferencias finitas. Explica cómo usar la serie de Taylor para derivar fórmulas de diferenciación numérica hacia adelante, hacia atrás y centrales de primer orden y orden superior. También cubre el método de la secante utilizando diferencias finitas y proporciona ejemplos y gráficas para ilustrar los conceptos.
Este documento describe los métodos numéricos y la aproximación numérica. Explica que los métodos numéricos son procedimientos alternativos para resolver problemas matemáticos mediante operaciones aritméticas en lugar de métodos analíticos. También describe conceptos como la exactitud, precisión, convergencia y estabilidad de los métodos numéricos. Finalmente, señala que no existe un mejor método numérico sino que se debe seleccionar el adecuado considerando factores como el tipo de problema, modelo matemático, equipo disponible y complejidad
El documento habla sobre tablas de transición y de símbolos. Explica que la tabla de transición representa los estados y símbolos de entrada de un autómata y cómo diseñarla. También cubre el tratamiento de errores léxicos y la tabla de símbolos, la cual almacena información sobre identificadores como funciones y variables. Finalmente, presenta ejemplos de tablas de transición y operaciones de la tabla de símbolos.
La modulación ASK (Amplitude Shift Keying) permite transmitir datos digitales alterando la amplitud de una señal portadora. En ASK, los valores binarios 0 y 1 se representan con dos amplitudes diferentes, siendo cero usualmente uno de los valores. El ancho de banda mínimo necesario para ASK es igual a la tasa de baudios. La tasa de bits es igual a la tasa de baudios cuando cada símbolo transmite un bit.
Este documento describe diferentes métodos para manipular el contraste de imágenes, incluyendo métodos locales como ampliar la escala de grises y aplicar transformaciones de imágenes, y métodos globales como ecualizar el histograma y usar tablas de consulta de valores. Explica cómo cada método modifica los niveles de gris para mejorar el contraste general de la imagen.
Este documento describe la aplicación de matrices en el procesamiento de imágenes digitales. Explica conceptos básicos de matrices y sus operaciones. Luego, describe cómo las imágenes digitales pueden representarse mediante matrices y cómo varios filtros como ajuste de canales, brillo, inversión de colores y escala de grises se pueden aplicar a través de operaciones con matrices. Finalmente, menciona el software desarrollado para aplicar estos filtros mediante procesamiento matricial de imágenes.
El documento describe diferentes técnicas de procesamiento digital de imágenes como mejora de imágenes, histograma, aumento y disminución de brillo, corrección de contraste, funciones de transformación, ecualización de histograma, filtrado espacial y de ruido. Explica conceptos como histograma, función de transferencia, kernel, convolución y cómo estas técnicas se pueden aplicar para mejorar atributos de una imagen como brillo, contraste y eliminar ruido.
Este documento presenta los resultados de procedimientos de procesamiento digital de imágenes realizados en MATLAB. Se importaron dos imágenes, una de alto contraste y otra de bajo contraste, y se mostraron en escala de grises. Luego, se halló su complemento, la transformada de Fourier discreta bidimensional y el histograma. Finalmente, se aplicó ecualización del histograma mediante la función Gamma para mejorar el contraste.
Este documento presenta información sobre el histograma, brillo, contraste y corrección gamma de imágenes. Explica que un histograma muestra la distribución de los niveles de gris de una imagen y cómo ecualizar una imagen mejora su distribución. También describe cómo manipular el brillo y contraste modificando los niveles de intensidad de los píxeles y cómo la corrección gamma compensa las variaciones de dispositivos de salida. El documento provee fórmulas y gráficas para ilustrar estos conceptos.
El documento habla sobre el procesamiento de imágenes y visión artificial. Explica cómo graficar el histograma de una imagen, ecualizar una imagen mediante su histograma, y manipular el brillo, contraste y corrección gamma de una imagen. El histograma muestra la distribución de los niveles de gris de una imagen. La ecualización del histograma distribuye de forma uniforme los niveles de gris. El brillo se refiere a la intensidad de los pixeles, mientras que el contraste es la diferencia relativa de intensidad entre
Se describe el sistema de coordenadas cartesianas, el concepto de función, y algunas de las funciones básicas: lineal, afín, constante y de proporcionalidad directa
Este documento describe los requisitos para una aplicación que permite cargar y mostrar imágenes BMP, así como aplicar seis transformaciones a las imágenes, incluyendo negativo, flip vertical, binarización, pixelamiento, escala de grises y convolución. Se debe mostrar imágenes de hasta 400x300 píxeles y capturar parámetros como umbrales y matrices de convolución para algunas transformaciones.
Este documento presenta una introducción al procesamiento de imágenes en Matlab y Octave. Explica cómo cargar, mostrar y normalizar imágenes, y realizar operaciones básicas como obtener canales individuales. Luego propone ejercicios para manipular partes de imágenes, intercambiar cuadrantes, y representar imágenes a partir de funciones. Finalmente, introduce operaciones de matrices que pueden aplicarse a imágenes, como espejados, y ejercicios de rotación y reescalado.
Este documento describe cómo generar funciones de pertenencia difusas comunes como triángulo, hombro derecho e izquierdo, y Pi utilizando MATLAB. Explica que MATLAB permite modelar funciones matemáticas y graficarlas de forma interactiva. Luego, detalla cómo generar cada tipo de función de pertenencia difusa mediante ecuaciones y parámetros clave, y proporciona ejemplos de código MATLAB. El objetivo es conocer cómo programar funciones de pertenencia difusas representativas para su uso en lógica borrosa.
Este documento describe un método para segmentar imágenes basado en el color usando MatLab. Explica cómo representar cada pixel como un vector RGB y segmentar regiones con colores similares usando un algoritmo que busca colores dentro de un rango de tolerancia del color de referencia. Aplica este método a imágenes sintéticas y naturales, mostrando cómo la tolerancia afecta los resultados.
Este documento discute las precauciones que deben tomarse al usar funciones inversas trigonométricas en una calculadora. Explica que las funciones asin y acos están definidas solo para valores entre -1 y 1, mientras que la función atan está definida para todos los números reales pero con imagen entre -π/2 y π/2. Al calcular valores fuera de estos rangos, una calculadora puede dar resultados incorrectos. Se debe entender bien el dominio de definición de cada función para interpretar correctamente los resultados.
Este documento presenta varios métodos numéricos para resolver sistemas de ecuaciones lineales, incluyendo el Método de Jacobi, el Método de Gauss-Seidel y el Método de Gauss-Jordan. Explica que los métodos iterativos como Jacobi y Gauss-Seidel son útiles cuando hay un gran número de variables, y describe los pasos matemáticos involucrados en cada método. También incluye un ejemplo numérico para ilustrar la aplicación del Método de Gauss-Seidel.
OPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOSdavp2012
El documento describe diferentes métodos para ajustar curvas a conjuntos de datos, incluyendo regresión lineal, regresión polinomial, interpolación de Newton y Lagrange, e interpolación segmentaria. La regresión lineal encuentra la línea recta de mejor ajuste minimizando la suma de los cuadrados de los errores. La regresión polinomial generaliza esto para polinomios de grado superior. La interpolación de Newton y Lagrange calcula polinomios que pasan exactamente por los puntos de datos. La interpolación segmentaria divide los datos en segmentos y ajusta funciones separ
El documento describe cómo usar la diferencial para estimar errores y aproximaciones de variables en ciencias. Explica cómo calcular la diferencial a partir de la pendiente de la tangente en un punto de una función. También describe cómo usar la diferencial para determinar el error en mediciones y aproximaciones de variables que dependen de otras. Finalmente, presenta ejemplos de cómo aplicar estos conceptos para estimar áreas, volúmenes y otros valores.
Este documento trata sobre circuitos digitales y sistemas de numeración binaria, hexadecimal y decimal. Explica los conceptos básicos de álgebra de Boole, puertas lógicas, representación y simplificación de funciones lógicas, e implementación de funciones lógicas con puertas. También cubre circuitos combinacionales como codificadores, decodificadores, multiplexores y sus aplicaciones. Finalmente, presenta ejercicios para practicar estos conceptos.
Este documento describe los pasos para eliminar fondos en Photoshop utilizando capas de ajuste y canales. Primero, se determina qué canal RGB tiene mayor contraste con la figura para separarla del fondo. Luego, se crea una capa de ajuste mezclador de canales para ajustar los valores de cada canal y definir el contorno de la figura. Finalmente, se aplica la capa de ajuste a una máscara para recortar la figura y eliminar el fondo.
Este documento describe conceptos matemáticos como ecuaciones, funciones lineales y sistemas de ecuaciones lineales. Explica que una ecuación es una expresión con dos partes equivalentes separadas por un signo de igualdad, y que resolver una ecuación implica encontrar los valores que hacen que la igualdad sea cierta. También define una función lineal como una relación entre variables donde una depende de la otra de forma proporcional, y que un sistema de ecuaciones lineales busca encontrar los valores comunes que satisfacen dos ecuaciones al mismo tiempo.
El documento resume el Método Simplex, un método iterativo para resolver problemas de programación lineal. Explica que convierte las restricciones en ecuaciones usando variables de holgura, y define una solución básica inicial para crear una tabla Simplex. Luego, realiza iteraciones moviéndose de un vértice a otro hasta alcanzar la solución óptima cuando se cumple un criterio específico.
Este documento presenta un laboratorio sobre señales y sistemas discretos en Matlab. Explica conceptos básicos como señales continuas vs discretas, muestreo y ecuaciones de diferencias. Luego, describe una serie de experimentos realizados en Matlab para representar y analizar señales discretas, incluyendo la visualización de respuestas a ecuaciones de diferencias, el efecto del muestreo en diferentes frecuencias, y el uso de promediado para reducir ruido en señales. Finalmente, presenta algunos ejercicios resuelt
Similar a Manipulación del contraste de una imágen monocromática por transformación exponencial (Python OpenCV) (20)
PelicanHPC Implementación fisica con dos nodos
Implementación fisica de cluster de alto rendimiento con PelicanHPC
Implementación fisica de cluster PelicanHPC
Cluster de Alto Rendimiento
Implementacion de Cluster PelicanHPC
Practica de Clusters
PelicanHPC práctica fisica con dos nodos
Implementación fisica de Cluster de Alto Rendimiento con PelicanHPC con dos nodos
Aplicación de los Clusters en la empresas (Amazon Redshift)Ivan Luis Jimenez
Aplicación de los Clusters en la empresas (Amazon Redshift)
Se describe la arquitectura del clusters que utilizar Amazon Redshift, y también el funcionamiento de cada una de sus partes: By Iván Luis Jiménez
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundoIvan Luis Jimenez
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo con C)
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
Ivan Luis Jimenez
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...Ivan Luis Jimenez
El documento explica cómo usar Make y archivos Makefile para compilar programas divididos en múltiples archivos y directorios. Se crea un proyecto de ejemplo llamado "holamundo" con varios módulos y se explica cómo crear y llenar los archivos necesarios como Makefile, código fuente y scripts para automatizar la compilación.
El documento describe los comandos básicos para configurar VLANs en un switch Cisco, incluyendo cómo cambiar el nombre del switch, crear una VLAN llamada "Estudiantes", asignar puertos 3, 4 y 5 a esa VLAN, y eliminar todas las VLANs existentes.
Este documento describe una práctica de laboratorio sobre enrutamiento dinámico con RIP. Se realiza el subneteo de dos redes para obtener 8 subredes cada una. Se configura un router con DHCP para asignar direcciones IP a una PC y servidor. Luego se implementa el enrutamiento RIP entre los equipos y se verifica la conectividad comprobando el acceso a páginas web. Finalmente, se reconfigura el enrutamiento para usar RIPv2 en lugar de RIPv1.
Práctica: Medición de voltaje en circuitos con dos fuentes de voltajeIvan Luis Jimenez
Este documento presenta los cálculos teóricos y mediciones experimentales de voltajes en dos circuitos con múltiples resistencias y fuentes de voltaje. En la primera sección se calculan analíticamente las corrientes y voltajes en un circuito con cuatro resistencias y dos fuentes en paralelo. En la segunda sección se realizan cálculos similares para un circuito con tres mallas, tres incógnitas y dos fuentes en serie. Finalmente, se miden experimentalmente los voltajes en ambos circuitos y se calculan los porcentajes de error.
Creación de VLANs (subredes) desde Cisco Packet Tracer StudentIvan Luis Jimenez
Muestro como crear VLANs en una red local con Cisco Packet Traces Student.
Calcular el rango de IPs para una red que se desea segmentar
Realizada por Iván Luis Jiménez
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresIvan Luis Jimenez
Este documento describe los pasos para configurar el ambiente de desarrollo para un proyecto web llamado CompuShop. Incluye definir el proyecto en Eclipse, crear una página HTML, configurar preferencias de código, agregar paquetes, y probar la aplicación en un servidor Apache Tomcat. El objetivo del proyecto es crear una tienda en línea para vender artículos de computación.
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPCIvan Luis Jimenez
Este documento describe el código de un cliente y servidor para transferir archivos mediante llamadas a procedimientos remotos (RPC). El cliente envía el nombre de un archivo al servidor concurrente o secuencial, el cual verifica si existe y lo transfiere de forma concurrente o secuencial respectivamente. Se muestran capturas del proceso de transferencia y resultados cuando el archivo solicitado existe o no existe en el servidor.
Proyecto de compiladores Sentencia While con Java CUP y JFLEXIvan Luis Jimenez
Este documento describe un proyecto para simular la estructura de programación WHILE con JFLEX y JAVA CUP. Explica la estructura de los archivos JFlex y CUP, las clases para compilarlos y ejecutar el analizador léxico y sintáctico, y muestra capturas del programa funcionando correcta e incorrectamente. El objetivo es analizar expresiones WHILE validas e invalidas y detectar errores léxicos y sintácticos.
Practica- Transacciones y Concurrencia en Oracle y MySQLIvan Luis Jimenez
Práctica de Transacciones y Concurrencia en Oracle y MySQL
Desde el simbolo del sistema de Windows
Ejemplo de transacciones en Oracle
Ejemplo de transacciones en MySQL
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
Manipulación del contraste de una imágen monocromática por transformación exponencial (Python OpenCV)
1. Manipulación del contrastre de una imágen monocromática por transformación
exponencial
Iván Luis Jiménez
Universidad Autónoma de Guerrero
Facultad de Ingeniería
ivan_luisj@hotmail.com
Resumen
Se aplica el método de transformación exponencial para
mejorar el contraste de una imágen, en otras palabras,
distribuir los niveles de gris. Se muesta también el
histograma de la imágen original y tanto de la imágen
de salida (imágen que se le aplicó la transformación
exponencial), para que de ésta manera se pueda
determinar el rango de grises que mas tiene la imágen.
Se explican los valores de entrada que necesita la
ecuación para lograr la tranformación.
Palabras clave: contraste, histograma, transformación
exponencial.
1. Introducción
Aplicaremos el método por transformación
exponencial a una imágen monocromática que tiene
pocos niveles de grises altos (blancos). Mostraremos la
imagen original y la imágen ya una vez aplicada la
función exponencial. También para ambos casos
obtendremos su histograma para comparar su dispersión
de tonos de gris de una y otra, y de ésta manera entender
gráficamente que efecto tiene manipular el contraste de
una imágen monocromática.
El objetivo de mostrar el histograma de ambas
imágenes, tanto de entrada como de salida, es
imaginarnos la imágen, aún sin verla.
2. Desarrollo
Para lograr manipular el contraste de la imágen o
mapa de bits (Ver Imágen 1) usaremos una Ecuación
Exponencial (Ver Ecuación 1) que nos ayude a lograr
éste próposito. Éste tipo de método está basado en el
dominio espacial y haciendo operaciones punto a punto.
=
1
Ecuación 1. Representación algebraica de
manipulación del contraste.
En la “Ecuación 1. Representación algebraica de
manipulación del contraste”, tenemos que:
→ imágen de salida con contraste modificado
→ constante (debe ser positiva)
→ nivel de gris ([0:255]) de la imágen original
→ exponente (debe ser positivo)
Al variar n en un rango menor a uno tendremos una
imágen con aumento del contraste en zonas oscuras. Si n
es mayor a uno tendremos un aumento del contraste en
zonas claras. Si n es igual a uno el contraste es el mismo
que en la imágen original, es decir, no tiene efecto, al
menos que C sea diferente de 1.
C está en función de n. Si n es negativo la imágen
mejora su contraste pero “invierte” los colores, es decir,
los tonos mas altos se cambian a bajos y viciversa (Ver
Imagen 3).
Teniendo una imagen (ver Imágen 1) de entrada
aplicaremos la Fórmula 1 (ver Ecuación 1) para
aumentar su contraste.
2. Imágen 1. Imágen de entrada con contraste bajo
La imágen de entrada tiene el contraste bajo, ésto
quier decir que tiene pocos niveles de de gris. Si
obtenemos el nivel de gris de cada pixel y lo llevamos a
un histograma (Ver Figura 1) veremos como están
distribuidos los niveles de gris.
Figura 1. La fgura muestra la distribución de niveles de
gris en la imágen de entrada
Por tanto, nuestra tarea es aumentar los niveles de
cada pixel de la imágen, en función de las variables e
imagen de entrada, que se describen en la Ecuación 1
(Ver Ecuación 1).
Bien sabemos que una imágen es una “matriz de
pixeles”, donde cada pixel tiene un nivel de gris (en el
caso de imágen monocromática) que va de [0:255]. Si
tenemos una imágen de 359x359 pixeles, el total es de
128, 881 pixeles, que és el caso de la imágen que se
describe en éste reporte. Por tanto, tendrémos que
recorrer cada pixel de la imágen, y a cada pixel aplicarle
la Fórmula 1 (Ver Fórmula 1) descrita con anterioridad.
El pixel ya modificado podemos guardarlo en otra
“matriz de bits” y en la misma posición que en la de la
matriz de entrada, para que de ésta manera tengamos una
imágen de salida diferente, y no sobreescribamos la
imágen original.
Utilizando un lenguaje de programación podemos
acceder a cada pixel de la imágen y poder procesarlos
uno a uno.
Seguiremos el siguiente algoritmo para procesar cada
pixel de la imágen.
leer imágen original → f[x,y]
obtener filas y columnas de la imágen leída → x,y
crear matriz con el tamaño de la imágen leída →
g[x,y]
n= 1.20
C = 1.42
recorrer desde 0 hasta x
recorrer desde 0 hasta y
g[x,y] = C * (F[x,y] exp n)
mostrar o guardar imágen generada
Vemos que el algoritmo es sencillo.
La imágen de salida generada, ya aplicada la
transformación exponencial es como lo muestra la
Imágen 2 (Ver Imágen 2)
Imágen 2. Imágen de salida que se le aplicó
tranformación exponencial con n = 1.20 y C = 1.42
3. La imágen obtenida (Ver Imágen 2) contiene mayor
distribución de grises por tanto ya podemos imaginarnos
su histograma (Ver Figura 2).
Figura 2. La fgura muestra la distribución de niveles de
gris en la imágen de salida.
Si aumentamos el exponente el histograma se moverá
más a la derecha.
Podemos jugar con los valores de n y C para observar
los cambios.
En caso de que el exponente sea negativo se obtiene
Ver Imágen 3
Imágen 3. Imágen de salida que se le aplicó
tranformación exponencial con n = -1.01 y C = 68729.9
3. Conclusiones
EL proceso de transformación exponencial aplicado a
una imágen monocrómatica (escala de grises) tiene como
objetivo mejorar el contraste de la imágen. Si
aumentamos el exponente (mayor a 1), mayor será el
contraste, al contrario si acercamos el exponente a 1,
menor será el contraste.
Una imágen con buen contraste tiene “equilibrados”
los niveles de gris.
Referencias
[1]
http://ludifisica.medellin.unal.edu.co/recursos/analisis_im
agenes_sistemas/analisis_senales_sistemas/cd_curso/tutori
al_orquidea/tutorial_orquidea_nov_02_2006.pdf fecha de
consulta 23 de octube del 2017.
[2]
https://www.cs.buap.mx/~iolmos/pdi/Sesion4_Operacione
s_Punto.pdf, fecha de consulta 23 de octubre del 2017