(代码6)卷积

卷积

#include <cv.h>  
#include <highgui.h>  
using namespace cv;  
int main()  
{  
	IplImage *src;
	IplImage *dst; 
	float k[9]={-1, -1, -1,   
		       -1, 8, -1,
			   -1, -1, -1};  
	CvMat mb;  
	mb=cvMat(3,3,CV_32FC1,k);  
	src=cvLoadImage("lena.jpg");  
	dst = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,3);  
	cvNamedWindow("src");  
	cvShowImage("src",src);  
	cvNamedWindow("filtering");  
	cvFilter2D(src,dst,&mb,cvPoint(-1,-1));  
	cvShowImage("filtering",dst);  
	cvWaitKey(0);  
	cvReleaseImage(&src);  
	cvReleaseImage(&dst);  
	return 0;  
}  

Filter2D
对图像做卷积 

void cvFilter2D( const CvArr* src, CvArr* dst,const CvMat* kernel,CvPoint anchor=cvPoint(-1,-1));
src 
输入图像. 
dst 
输出图像. 
kernel 
卷积核, 单通道浮点矩阵. 如果想要应用不同的核于不同的通道,先用 cvSplit 函数分解图像到单个色彩通道上,然后单独处理。 
anchor 
核的锚点表示一个被滤波的点在核内的位置。 锚点应该处于核内部。缺省值 (-1,-1) 表示锚点在核中心。 
函数 cvFilter2D 对图像进行线性滤波,支持 In-place 操作。当核运算部分超出输入图像时,函数从最近邻的图像内部象素插值得到边界外面的象素值。

你可能感兴趣的:(VS2010,opencv)