\tutorial_code\ImgTrans\filter2D_demo.cpp


又是一件重複的事情。。。




Paper Reading
很有益的活动

http://www.jdl.ac.cn/project/faceId/paperreading/


【16】filter2D_demo.cpp

 = =
进入到 图像变换 了哟

有意思。

实现自己的线性滤波器

高度概括地说,卷积是在每一个图像块与某个算子(核)之间进行的运算。

核说白了就是一个固定大小的数值数组。该数组带有一个 锚点 ,一般位于数组中央。




得最佳滤波效果的惟一方法是使滤波掩模中心距原图像边缘的距离不小于(n-1)/2个像素。


如何用核实现卷积?

假如你想得到图像的某个特定位置的卷积值,可用下列方法计算:

将核的锚点放在该特定位置的像素上,同时,核内的其他值与该像素邻域的各像素重合;
将核内各值与相应像素值相乘,并将乘积相加;
将所得结果放到与锚点对应的像素上;
对图像所有像素重复上述过程。

很形象的说法 就是 窗口滑动

void filter2D(const Mat& src, Mat& dst, int ddepth, const Mat& kernel, Point anchor=Point(-1, -1), double delta=0, int borderType=BORDER_DEFAULT)



Parameters:

src: 源图像
dst: 目标图像
ddepth: dst 的深度。若为负值(如 ),则表示其深度与源图像相等。
kernel: 用来遍历图像的核
anchor: 核的锚点的相对位置,其中心点默认为 (-1, -1) 。
delta: 在卷积过程中,该值会加到每个像素上。默认情况下,这个值为 。
BORDER_DEFAULT: 以前讲过 = =


示例:

kernel = (Mat_<float>(3,3) << 1, -2, 1,
                                            2, -4, 2,
                                            1, -2,1);

就是上面提到的那个核

研究一下。掩膜系数。

==============================

线性低通:系数都是正,最后求均值 》》平滑
线性高通:中心系数为正,周围系数负数》》锐化

所有系数和为零 》》 拉普拉斯算子


================================


有梯度。。掩膜系数和为零 。。

恩哼



看看效果吧





這個函數在之前也已經用過了

就是空間濾波嘛

當然,可能會有同學覺得奇怪

空間濾波是怎麼和頻率域的低通、高通聯繫起來了。。。。。


我能說

他們是雙面人嗎!!!!!!!!


岡先生的 《數字圖像處理 》裏面是有講他們的關係的。。。


http://book.douban.com/subject/1106342/


頻率域那章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值