⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filter.c

📁 OpenCV的各类例子
💻 C
字号:
//  Filtering for Image with variaty filtering kernel//// CV_PREWITT_3x3_V A gradient filter (vertical Prewitt operator).//         -1  0  1//         -1  0  1//         -1  0  1// CV_PREWITT_3x3_H A gradient filter (horizontal Prewitt operator).//          1  1  1//          0  0  0//         -1 -1 -1// CV_SOBEL_3x3_V A gradient filter (vertical Sobel operator).//         -1  0  1//         -2  0  2//         -1  0  1// CV_SOBEL_3x3_H A gradient filter (horizontal Sobel operator).//          1  2  1//          0  0  0//         -1 -2 -1// CV_LAPLACIAN_3x3 A 3x3 Laplacian highpass filter.//         -1 -1 -1//         -1  8 -1//         -1 -1 -1// CV_LAPLACIAN_3x3 A 3x3 Laplacian highpass filter (another kernel)// This kernel is similar with function: cvLaplace with aperture_size=1//          0  1  0//          1  -4  1//          0  1  0      注:直接用cvFilter2D得到的结果与用cvLaplace得到的结果//                           略有不同// CV_LAPLACIAN_5x5 A 5x5 Laplacian highpass filter.//         -1 -3 -4 -3 -1//         -3  0  6  0 -3//         -4  6 20  6 -4//         -3  0  6  0 -3//         -1 -3 -4 -3 -1// CV_GAUSSIAN_3x3 A 3x3 Gaussian lowpass filter.// This filter uses the kernel A/16,where//         1 2 1//     A =  2 4 2//         1 2 1// These filter coefficients correspond to a 2-dimensional Gaussian// distribution with standard deviation 0.85.//// CV_GAUSSIAN_5x5 A 5x5 Gaussian lowpass filter.// This filter uses the kernel A/571,where//         2  7  12  7  2//         7 31  52 31  7//    A =  12 52 127 52 12//         7 31  52 31  7//         2  7  12  7  2#include <cv.h>#include <highgui.h>#include <stdio.h>int main( int argc, char** argv ){ 	IplImage *src = 0, *dst = 0, *dst2 = 0;    /*float k[9] = { 0, 1, 0,                   1,-4, 1,                   0, 1, 0}; */    float k[9] = { 1.f/16, 2.f/16, 1.f/16,                   2.f/16, 4.f/16, 2.f/16,                   1.f/16, 2.f/16, 1.f/16};   // 这里高斯核滤波器归一化    CvMat Km;    //cvInitMatHeader( &Km, 3, 3, CV_32FC1, k, CV_AUTOSTEP );    Km = cvMat( 3, 3, CV_32F, k );    // 0:  force to gray image	src = cvLoadImage("lena.jpg", 0);    dst = cvCloneImage( src );    cvNamedWindow("src", 0);    cvShowImage("src",src);        cvNamedWindow("filtering", 0);    cvFilter2D( src, dst, &Km, cvPoint(-1,-1));    cvShowImage("filtering",dst);    cvWaitKey(0);    cvReleaseImage( &src );    cvReleaseImage( &dst );    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -