opencv_tutorial_code学习——图像滤波与风格化

本文对比分析了OpenCV中 ImgProc/Smoothing.cpp 和 photo/non_photorealistic_rendering.cpp 两个模块的滤波算法。涵盖低通滤波器(如均值、高斯和中值滤波)、高通滤波器(如Sobel算子和拉普拉斯变换)以及邻域滤波。特别提到了双边滤波在保边去噪方面的优势,并展示了Normalized Convolution Filter和Recursive Filter的效果,同时介绍了细节增强、铅笔素描和风格化等图像处理技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ImgProc/Smoothing.cpp 与 photo/non_photorealistic_rendering.cpp 中算法对比:

滤波器小结
一、低通滤波器(模糊和平滑)
1、均值(线性)
2、高斯(线性)  去白噪声
3、中值(非线性) 去椒盐噪声
二、高通滤波器(可边缘检测)
1、sobel算子(方向)
2、拉普拉斯变换(二阶导数)
三、邻域滤波
1、方框
2、高斯
3、中值
4、双边(非线性) 保边去噪

原图


Smoothing.cpp中的

归一化滤波:blur( src, dst, Size( i, i ), Point(-1,-1) ) 线性


高斯滤波:GaussianBlur( src, dst, Size( i, i ), 0, 0 ) 线性,去白噪声


中值滤波:medianBlur ( src, dst, i ) 非线性,去椒盐噪声


双边滤波: bilateralFilter ( src, dst, i, i*2, i/2 ) 非线性,效果好,可以实现保边去噪


non_photorealistic_rendering中的:

edgePreservingFilter(src,img,type);分两种type,type=1为Normalized Convolution Filter(归一卷积滤波),type=2为Recursive Filter(回归滤波)

结果分别是:

Normalized Convolution Filter:


Recursive Filter:


detailEnhance(src,img); 细节增强


pencilSketch(src,img1, img, 10 , 0.1f, 0.03f);



stylization(src,img);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值