锐化的作用是加强图像的边沿和轮廓,通常也成为高通滤波器:
模板一般设计为中心处的值为正,外围的值为负(总系数之和为0):
int main()
{
//源图像
Mat scr = imread("D:/picture/img.tif");
Mat rst;
imshow("原图像",scr);
Mat kernel(3,3,CV_32F,Scalar(-1));
// 分配像素置
kernel.at<float>(1,1) = 8;
filter2D(scr,rst,scr.depth(),kernel);
imshow("锐化结果",rst);
waitKey(0);
return 0;
}
我们可以看到,虽然增强了边沿,但是图像本身的层次和亮度已经基本丢失,对于那些与模板运算后小于0的数,会将他们自动置0,所以会有大片的黑色。
而我们通常使用的,是高增益滤波器,他在增强边沿、细节的同时,不会丢失源图像的低频成份:
高增益 = A原图-低通=(A-1)原图+(原图*低通)=(A-1)原图+高通,所以当A>1时,就会将源图像的一部分加入到高通滤波的结果中。
对于3*3的模板,正中间的数kernel(1,1)= 9A-1;其他数为-1。
程序只改动一行:
kernel.at<float>(1,1) = 8.9;
结果差异就很明显:
分享到:
相关推荐
爱分享、爱极客的编程怪兽--DaveBobo 博文 《【OpenCV学习笔记 009】图像滤波》 博文链接: http://blog.csdn.net/davebobo/article/details/52572728 OpenCV版本:2.4.9
一个图像滤波处理的演示程序 ,实现图像的几种空域模板方法,包括 均值滤波 ,中值滤波 ,高斯滤波 ,sobel算子,laplace算子,滤波参数可调 程序界面基于MFC,VC6.0 滤波函数基于opencv1.0 ps,程序存在bug,懒得...
OpenCV 3计算机视觉:Python语言实现,代码+pdf文档,适合于计算机视觉研究者
掌握利用模板对图像进行空域滤波操作,熟练掌握常用空域模板的使用。 实验 4: 图像去噪 1、掌握算术均值滤波器、几何均值滤波器、谐波和逆谐波均值滤波器进行 图像去噪的算法 2、掌握利用中值滤波器进行图像去噪的...
摘要视图订阅标签: opencv源代码源码分类:目录(?【OpenCV入门教程之九】 非线性滤波专场:中值滤波、双边滤波123210人阅读评论(68)收藏举报本
matlab逆滤波改由opencv实现,测试可用
bilateral双边滤波应用,OpenCV ,C++代码,对图片进行滤波AAAAAAAAAAAAA
摘要视图订阅标签: 图像处理计算机视觉源代码分类:目录(?【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波91328人阅读评论(110
OPENCV目标跟踪_opencv_目标检测_卡尔曼滤波算法_opencv代码_鼠标跟踪_VC++.zip
使用MFC实现opencv中图像处理的部分函数功能: 实现的主要内容有主要包含有: 图像灰度化: 最大值灰度化: 单通道灰度化: 平均值灰度化: 加权平均灰度化: 图像缩放: 最近邻内插法: 双线性内插法: ...
了解并学习OpenCV的Python第三方库——opencv-python中实现读取图像、图像缩放、图像滤波、显示图像、保存图像等功能的函数。2.编写算法,对所给图像进行均值滤波,改变kernel的大小,得到不同的美颜图片,并进行...
二、cuda与OpenCV结合方法 三、代码实例:图像均值滤波和图像反色 3.1 代码 3.2 代码说明 3.3 网格大小与线程块大小的确定 3.3.1 网格与线程块大小的限制 3.3.2 如何确定网格大小与线程块大小? 3.4 并行与串行的...
包含两个小实验:高斯滤波、快速均值滤波,用c++、opencv写的。运行时注意图像的格式和大小
采用openCV和VS2010用高斯滤波和图像合成算法,实现将多幅不完美图片得到更好的图片。
opencv图像处理 opencv图像处理_opencv图像处理算法之图像滤波
建立在opencv上的粒子滤波目标跟踪,实现的效果还不错,大家有空可以看下,有什么不足就指出,修改下。
opencv 写的同态滤波,高通滤波采用高斯高通滤波器
花了本人三天时间实现维纳滤波对图像进行复原,亲测无误,注意我是用的opencv静态库,你可能需要配置一下 花了本人三天时间实现维纳滤波对图像进行复原,亲测无误,注意我是用的opencv静态库,你可能需要配置一下
基于opencv中值滤波_均值滤波_边缘检测_角点检测_
OpenCV 3计算机视觉:Python语言实现 (Joe Minichino)