quinta-feira, 3 de novembro de 2011

Aplicando o Filtro Laplaciano em uma imagem

O filtro Laplaciano é um dos mais simples, permitindo a detecção de bordas na imagem. Para isso é utilizada a função cvLaplace(), que possui como parâmetro a imagem de entrada (preta e branca), uma imagem de destino e a abertura da imagem, que vai determinar a abertura, que serão valores inteiros negativos.


A seguir um exemplo:

#include <QtCore/QCoreApplication;
#include cv.h;
#include highgui.h;
int main(int argc, char *argv[])
{
IplImage* img = cvLoadImage("c:/imagem.jpg",CV_LOAD_IMAGE_COLOR);
cvShowImage("Imagem",img);


CvSize size = cvGetSize(img); //essa estrutura pega o tamanho da imagem

IplImage* lap = cvCreateImage(size,IPL_DEPTH_8U,1); //cria uma estrutura de imagem de 8 bits

IplImage* dst = cvCreateImage(size,IPL_DEPTH_32F,1); //cria uma estrutura de imagem de 32 bits

cvCvtColor( img, lap, CV_RGB2GRAY );
/*como este filtro trabalha com imagens em escala de cinza, vamos ter que converter a imagem colorida para cinza, o primeiro parâmetro e&etilde; a imagem original colorida e o segundo é a estrutura de imagem criada acima de 8 bits que irá receber a imagem convertida.*/

cvLaplace( lap, dst, 9 );
/*função Laplaciano, sendo que o primeiro parâmetro é a imagem convertida em cinza, o segundo é a imagem de destino e o terceiro parâmetro é a abertura, quanto maior o valor inteiro e negativo, maior apuração das bordas da imagem.*/


cvShowImage("lap",dst);
cvWaitKey(0);
cvDestroyWindow("lap");
cvDestroyWindow("Imagem");
QCoreApplication a(argc, argv);
return a.exec();
}

4 comentários:

  1. tem como passar o projeto
    Email : felipepradella@hotmail.com

    ResponderExcluir
  2. Tem como fazermos contato para aplicar filtro na saída de um sinal de um SET TOP BOX
    email: jakson@comsattecnologia.com.br

    ResponderExcluir
  3. Tem como fazermos contato para aplicar filtro na saída de um sinal de um SET TOP BOX
    email: jakson@comsattecnologia.com.br

    ResponderExcluir
  4. Se possível passa o projeto pra mim (seusitenarede@hotmail.com)

    ResponderExcluir