码迷,mamicode.com
首页 > 其他好文 > 详细

《学习OpenCV》 第五章

时间:2015-02-04 01:55:24      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:

书看到这里,更有一种感觉,就是此书作为入门手册,有一定的难度。难点不在此书如《C++ Primer》中文译本中充满歧义的佶屈聱牙的语句,而在各种术语(图像处理,信号处理以及数学)方面的提前使用。因此本章书中提及的“阈值化”、“卷积”(抱歉,数学上卷积可能有听到,但是图形学上的卷积只能抱歉了)等总会让新手感觉难以体会书中描述文字的“感觉”。好在在本章的最后提及了“阈值化”,在下一张的开始部分,也有“卷积”的一部分涉及。因此此书更应当“熟读百遍”。

我们在这里提及一下阈(yu,四声)值化的概念。其实,根据阈值化的读音和字面意思,大致也能猜出这个词的意思。当我读到“阈值化”这三个字刚出现时,百度过几篇博客,上面提及的概念和一个重要的图总算在本章最后出现了。

阈值化:剔除一些低于或高于一定值的像素。这是书中对于这个的概念。首先,我们应当想到电信号转换时的数模转换与之具有强烈相关性。

书中给了这个图,我们可以看出来最上面的是将要被阈值化的值和阈值,其中阈值是虚线位置。2图是二值阈值化,即类似二进制的阈值化,和数模转换很相似。高平的值化为高值,低平为低值。3图是二图的逆置;4图为截断阈值化,即超出阈值部分截成阈值大小,其余部分保持不变;5图为超过阈值部分置低值,6图与5图相反。

技术分享

我们先说一下平滑处理,“平滑处理”也叫“模糊处理”,用来减少图像上的噪声或者失真。OpenCV提供五种不同的平滑操作方法,都由cvSmooth函数实现。

void cvSmooth(const CvArr *src,CvArr*dst,int smoothtype=CV_GAUSSIAN,int param1=3,int param2=0,double param3=0,double param4=0);

src,dst自不用说,param1-4这四个参数的含义取决于smoothtype的值。

这里smoothtype有如下值:

CV_BLUR    简单模糊   支持in place方式输入,Nc1,3 输入数据类型 8u,32f, 输出数据类型 8u,32f,对每个像素param1*param2邻域求和。并做缩放1/(param1*pararam2)

CV_BLUR_NO_SCALE  简单无缩放变换的模糊,不支持in place,Nc 1, 输入数据类型 8u 输出数据类型 16s或32f 对每个像素的param1*param2 邻域求和

CV_MEDIAN   中值模糊,不支持in place,NC1,3 输入数据类型 8u,输出数据类型 8u 对图像进行核大小为param1*param1的中值滤波

CV_GAUSSIAN  高斯模糊 支持 in place ,NC1,3 输入数据类型 8u,32f,输出数据类型8u或32f 对图像进行核大小为param1*param2的高斯卷积

CV_BILATERAL 双边滤波 不支持 in place ,NC1,3 输入数据类型 8u, 输出数据类型8u 应用双线性3*3滤波,颜色sigma=param1,空间sigma=param2

CV_BLUR 输出图像的每一个像素是窗口中输入图像对应像素的简单平均值。simple blur 支持1~4个图像通道。CV_BLUR_NO_SCALE与simple blur本质上是相同的,但并没有计算其平均值的操作。因此,输入图像和结果图像必须有不同的数值精度,才能保证模糊操作不会导致错误溢出。中值滤波器将中心像素的正方形邻域内的每个像素值用中间像素值(不是平均像素值)替换,它可以用来处理单个通道、三个通道或者四个通道8位的图像,但是不支持in place。高斯滤波不是最快的,但是是最有用的。高斯滤波用卷积核与输入图像的每个点进行卷积,将最终计算结果之和作为输出图像的像素值。

此处提及“卷积”,定义是技术分享

  1. 首先将两个函数都用技术分享来表示。
  2. 对其中一个函数做水平翻转:技术分享技术分享
  3. 加上一个时间偏移量,让技术分享能沿着技术分享轴滑动。
  4. t从-∞滑动到+∞。两函数交会时,计算交会范围中两函数乘积的积分值。换句话说,我们是在计算一个滑动的的加权平均值。也就是使用技术分享当做加权函数,来对技术分享取加权平均值。
最后得到的波形(未包含在此图中)就是fg的卷积。
这里的卷积属于一元定义,下面的是二元定义,也就是可以用于矩阵运算方面的。

技术分享

在我们看来,上面的图片的含义在积分观点上等价于技术分享

《学习OpenCV》 第五章

标签:

原文地址:http://www.cnblogs.com/dmq5488287/p/4271399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!