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();
}
tem como passar o projeto
ResponderExcluirEmail : felipepradella@hotmail.com
Tem como fazermos contato para aplicar filtro na saída de um sinal de um SET TOP BOX
ResponderExcluiremail: jakson@comsattecnologia.com.br
Tem como fazermos contato para aplicar filtro na saída de um sinal de um SET TOP BOX
ResponderExcluiremail: jakson@comsattecnologia.com.br
Se possível passa o projeto pra mim (seusitenarede@hotmail.com)
ResponderExcluir