//以不同核进行卷积滤波
#include "cv.h"
#include "highgui.h"
int main(int argc, char** argv) {
IplImage* src = 0;
IplImage* dst = 0;
IplImage* 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 = cvMat(3, 3, CV_32F, k);
src = cvLoadImage("Lena.tif", 0);//0强制转为灰度图,1为彩色图
dst = cvCloneImage(src);
cvNamedWindow("src", 0);
cvShowImage("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;
}
OpenCV学习之卷积滤波
最新推荐文章于 2023-10-11 10:11:05 发布
本文深入探讨了OpenCV在图像处理中如何应用卷积滤波技术,详细介绍了卷积滤波的基本原理,通过实例展示了如何使用OpenCV实现不同类型的滤波器,包括高斯滤波、中值滤波和 Sobel 滤波。内容涵盖了滤波器的设计、卷积操作以及其在图像噪声消除和边缘检测中的应用。
摘要由CSDN通过智能技术生成