关闭

opencv cvFilter2D

标签: opencv图像处理
602人阅读 评论(0) 收藏 举报
分类:
/* Convolves the image with the kernel */
CVAPI(void) cvFilter2D( const CvArr* src, CvArr* dst, const CvMat* kernel,
                        CvPoint anchor CV_DEFAULT(cvPoint(-1,-1)));


kernel :卷积核, 单通道浮点矩阵. 如果想要应用不同的核于不同的通道,先用 cvSplit 函数分解图像到单个色彩通道上,然后单独处理。

author:

核的锚点表示一个被滤波的点在核内的位置。 锚点应该处于核内部。缺省值 (-1,-1) 表示锚点在核中心。

函数 cvFilter2D 对图像进行线性滤波,支持 In-place 操作。当核运算部分超出输入图像时,函数从最近邻的图像内部象素差值得到边界外面的象素值。

note:卷积核的系数应该是浮点类型的,这就意味着我们必须用CV_32F来初始化矩阵


<span style="font-size:10px;">void filter(void)
{
	float arr[9]=
	{
		1.0, -2.0, 1.0,
		2.0, -4.0, 2.0,
		1.0, -2.0, 1.0
	};//Sobel导数的3x3核
	
	IplImage *src=cvLoadImage("lena.jpg");
	IplImage *dst=cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 3);
	CvMat ker=cvMat(3, 3, CV_32FC1, arr);
	if (src == NULL || dst == NULL)
		exit(0);

	cvFilter2D(src, dst, &ker, cvPoint(-1, -1));

	cvNamedWindow("src");
	cvNamedWindow("dst");
	cvShowImage("src", src);
	cvShowImage("dst", dst);
	cvWaitKey(0);
	cvReleaseImage(&src);
	cvReleaseImage(&dst);
	cvDestroyAllWindows();
}</span>



0
0
查看评论

opencv中卷积函数cvFilter2D

1:cvFilter2D相关介绍可参考
  • smallstones
  • smallstones
  • 2014-11-24 20:09
  • 1235

OPENCV中函数cvFilter2D的应用

Filter2D 对图像做卷积 void cvFilter2D( const CvArr* src, CvArr* dst,const CvMat* kernel,CvPoint anchor=cvPoint(-1,-1)); #define cvConvolve2D cvFilter2D 其中sr...
  • dengshuaifei
  • dengshuaifei
  • 2015-12-08 21:17
  • 2825

Opencv学习笔记——自建滤波器cvFilter2D

利用Opencv自带的cvFilter2D来对图像进行卷积计算,具体代码如下:
  • acm2014
  • acm2014
  • 2014-10-18 15:17
  • 1578

学习OpenCV(三)用filter2D实现矩阵掩码操作

在对数字图像进行处理时,我们一般都会在空间域(spatial domain)或者频域(frequency domain)中进行。所谓“空间域”,实际上指的是图像本身,在空间域上的操作常常是改变像素点的值,也就是经过一个映射(我们所做的变换,如滤波等),将原来的f(x,y)变换为新的g(x,y)。而“...
  • xmfthu
  • xmfthu
  • 2013-11-10 14:27
  • 12270

opencv学习笔记(二十)cvFilter2D()卷积以及卷积边界的处理

20.1**cvFilter2D()卷积:**void cvFilter2D( const CvArr* src, CvArr* dst, const CvMat* kernel, CvPoint anchor=cvPoint(-1,-1) ); sr...
  • u014751607
  • u014751607
  • 2017-01-08 15:38
  • 8421

opencv卷积滤波cvFilter2D

本文转自http://blog.sina.com.cn/s/blog_6df50e1a01019z95.html 受益匪浅
  • u012913847
  • u012913847
  • 2014-04-15 16:44
  • 476

MATLAB函数的filter2 conv2 imfilter2函数 与opencv中的cvFilter2D函数的异同及图像的频率滤波

最近在做科研的过程中
  • wx123456123
  • wx123456123
  • 2014-07-10 19:05
  • 5181

OpenCV的Filter2D代码解析

Filter是一个非常耗时的操作,不过Opencv的Filter写法比较特别,估计这也是优化的比较好的写法吧,这里把原理解析一下,就可以编写自己的filter代码了 for( ; count > 0; count--, dst += dst_step, src+...
  • carpinter
  • carpinter
  • 2014-07-03 16:05
  • 7467

Opencv卷积滤波cvFilter2D-高通与低通

原文: http://blog.sina.com.cn/s/blog_6df50e1a01019z95.html 1.使用模板处理图像相关概念        模板:矩阵方块,其数学含义是一种卷积运算。   &...
  • jacke121
  • jacke121
  • 2017-01-09 19:30
  • 619

opencv卷积cvFileter2D与卷积边界cvCopyMakeBorder处理图像的总结

连续空间的卷积定义是 f(x)与g(x)的卷积是 f(t-x)g(x) 在t从负无穷到正无穷的积分值。t-x要在f(x)定义域内,所以看上去很大的积分实际上还是在一定范围的。实际的过程就是f(x)先做一个Y轴的反转,然后再沿X轴平移t就是f(t-x),然后再把g(x)拿来,两者乘积的值再积分.想象一...
  • gdut2015go
  • gdut2015go
  • 2015-06-06 10:31
  • 670
    个人资料
    • 访问:833090次
    • 积分:10167
    • 等级:
    • 排名:第2017名
    • 原创:311篇
    • 转载:40篇
    • 译文:10篇
    • 评论:92条
    博客专栏
    文章分类
    最新评论