T Cnicas De Filtrado

Páginas: 24 (5887 palabras) Publicado: 2 de julio de 2015
Técnicas de filtrado.
Se trata de métodos para resaltar o suprimir, de forma selectiva, información contenida en una imagen a diferentes escalas espaciales, para destacar algunos elementos de la imagen, o también para ocultar valores anómalos
El proceso de filtrado consiste en la aplicación a cada uno de los pixels de la imagen de una matriz de filtrado de tamaño NxN (generalmente de 3x3 aunquepuede ser mayor) compuesta por números enteros y que genera un nuevo valor mediante una función del valor original y los de los pixels circundantes. El resultado final se divide entre un escalar, generalmente la suma de los coeficientes de ponderación.

Filtros de paso bajo
Su objetivo es suavizar la imagen, son útiles cuando se supone que la imagen tiene gran cantidad de ruido y se quiereeliminar. También pueden utilizarse para resaltar la información correspondiente a una determinada escala (tamaño de la matriz de filtrado).

A continuación se muestra un ejemplo de filtro paso bajo aplicado en OpenCV:
Se aplica un filtro de paso bajo a una imagen de entrada mediante la función “filte2D ()”.
Filter2D ().
Convoluciona una imagen con el kernel.

Filter2D (src, dst, src.depth (), kernel);Src = imagen de entrada.
Dst =imagen de salida del mismo tamaño y el mismo número de canales que “src”.
Ddepth = profundidad deseada de la imagen de destino; si es negativo, va a ser el mismo que src.depth ();
Kernel = kernel de convolución (o más bien un núcleo de correlación), una matriz de punto flotante de un solo canal;

#include
#include
#include
#include
#include
#include
#include "opencv2/opencv.hpp"

Using namespace std;
Using namespace CV;

Mat img; //Imagen de entrada.
Mat imgout; //Imagen final tratada con un filtro.

void PasoBajo(Mat &image)//Función para filtro paso bajo.
{
int sise=11;
Mat kernel;
Kernel = Mat::ones(sise,sise,CV_32F)/(float)(sise*sise); //Se crea un objeto tipo Mat de tamaño
“sise”x”sise” y de tipo Flotante.

filter2D(image, imgout, image.depth(),kernel);
imshow ("Paso Bajo", imgout3); //Muestra el resultado del filtro.
}

int main() //Programa principal.
{
img = imread("B.jpeg"); //Lee una imagen externa.
imshow("Original Image", img);//Muestra la imagen original.

PasoBajo(img); //Llamado a la función “PasoBajo”

waitKey();
}


Filtros de paso alto

Su objetivo es resaltar las zonas de mayor variabilidad eliminando lo que sería la componente media, precisamente la que detectan los filtros de paso bajo. Por otra parte la respuesta decada pixel está contaminada por la de los pixeles vecinos ya que la radiación reflejada por un pixel se reparte hacia los pixeles vecinos.


A continuación se muestra un ejemplo de filtro paso bajo aplicado en OpenCV:
Se aplica un filtro de paso alto a una imagen de entrada mediante la función “filte2D()”.
Filter2D().
Convoluciona una imagen con el kernel.

Filter2D(src, dst, src.depth(),kernel);
Src = imagen de entrada.
Dst =imagen de salida del mismo tamaño y el mismo número de canales que “src”.
Ddepth = profundidad deseada de la imagen de destino; si es negativo, va a ser el mismo que src.depth ();
Kernel = kernel de convolución (o más bien un núcleo de correlación), una matriz de punto flotante de un solo canal;

Ejemplo #1.

#include
#include
#include...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • T Cnica
  • T Cnicas
  • T Cnica
  • T CNICAS
  • T Cnicas
  • T Cnicas
  • T Rminos T Cnicos
  • T Cnica Vocal T Teres

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS