基于MFC和OpenCV的图像处理小软件(续)

来源:互联网 发布:淘宝卖家app 编辑:程序博客网 时间:2024/06/05 08:11

新添加功能(直方图的滚动条拖动有点多余,因为已经有两种二值化分割了,分水岭的算法比较复杂,已经超出你的所学范围了,所以选取了稍微简单的金字塔分割,又增添了3中图像处理方法,应该可以满足你们老师的要求了:)):

1.恢复原图

   点击“图像处理”子菜单下面的“恢复原图”即可恢复到刚打开图像时的状态。

2.灰度直方图

灰度直方图(histogram)是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图象的最基本的统计特征。

 

3.颜色直方图

直方图中的数值都是统计而来,描述了该图像中关于颜色的数量特征,可以反映图像颜色的统计分布和基本色调;直方图只包含了该图像中某一颜色值出现的频数,而丢失了某象素所在的空间位置信息;任一幅图像都能唯一的给出一幅与它对应的直方图,但不同的图像可能有相同的颜色分布,从而就具有相同的直方图,因此直方图与图像是一对多的关系;如将图像划分为若干个子区域,所有子区域的直方图之和等于全图直方图;一般情况下,由于图像上的背景和前景物体颜色分布明显不同,从而在直方图上会出现双峰特性,但背景和前景颜色较为接近的图像不具有这个特性。


4.金字塔分割

金字塔分割算法由cvPrySegmentation所实现,该函数的使用很简单;需要注意的是图像的尺寸以及金字塔的层数,图像的宽度和高度必须能被2整除,能够被2整除的次数决定了金字塔的最大层数。

金字塔算法处理后:


金字塔算法处理前:

 

金字塔算法处理后:


5.Candy边缘提取

(1)   图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。

(2)   根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。

(3)   类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。


6.轮廓检测

可以参考如下网页:

http://www.360doc.com/content/10/1029/22/10610_65126310.shtml

本程序中的效果如下(先二值化图像,在轮廓提取):


0 0
原创粉丝点击