卷积操作,是各种图像处理的基础,原理不难,在这里不做赘述,网络上已经有了很多很好的例子,在这里直接上代码。
注意代码中两种的方法的使用及注意事项。
OpenCV卷积函数:
void cvFilter2D( const CvArr* src,
CvArr* dst,
const CvMat* kernel,
CvPoint anchor=cvPoint(-1,-1)
);
#include <cv.h>
#include <highgui.h>
using namespace std;
int main()
{
IplImage* src1=cvLoadImage("D:\\Korea Documents\\Pictures\\Wallpaper\\Attitude.jpg");
IplImage* src=cvCreateImage(cvSize(700,400),src1->depth,src1->nChannels);
cvResize(src1,src);
IplImage* dst=cvCloneImage(src);
/*Kernal的两种建立方式*/
//1.cvmSet不支持分数!!!
CvMat *k1;
k1=cvCreateMat(3,3,CV_32FC1);
/*cvmSet(k1,0,0,1/16);
cvmSet(k1,0,1,2/16);
cvmSet(k1,0,2,1/16);
cvmSet(k1,1,0,2/16)