主要内容

粒度测定的雪花

此示例演示如何使用粒度测量法计算图像中雪花的大小分布。粒度测定法确定图像中物体的大小分布,而无需先明确分割(检测)每个物体。

读取图像

阅读“snowflakes.png”图片,这是一张雪花的照片。

I=imread(“snowflakes.png”); imshow(I)

增强对比度

第一步是最大化图像的强度对比度自适应HistEq函数,该函数执行对比度受限的自适应直方图均衡化。使用imadjust函数以填充数据类型的整个动态范围。

claheI = adapthisteq(我“NumTiles”,[10 10]); claheI=imadjust(claheI);伊姆肖伊(克拉黑)

确定增强图像中的强度表面积分布

粒度测定法估计雪花的强度表面积分布,作为大小的函数。粒度测定法将图像对象比作石头,其大小可以通过不断增大的屏幕进行筛选,并收集每次通过后的剩余物来确定。通过使用增大尺寸的结构元素打开图像并在每次打开后计算剩余强度表面积(图像中像素值的总和),筛选图像对象。

选择计数器限制,以便在增加结构元素的大小时,强度表面积变为零。出于显示目的,请将表面积数组中的第一个条目保留为空。

半径范围=0:22;强度范围=零(大小(半径范围));对于计数器=半径\范围保持=imopen(克拉黑,斯特雷(“磁盘”(柜台),;强度_面积(计数器+1)=总和(剩余(:);终止图2:绘制(强度和面积),“m-*”)网格头衔('打开图像中像素值与半径之和')包含('开口半径(像素)')伊拉贝尔('打开对象的像素值总和(强度)')

计算分布的一阶导数

两个连续开口之间的强度表面积显著下降表明图像包含与较小开口大小相当的对象。这相当于强度表面积阵列的一阶导数,该阵列包含图像中雪花的大小分布。使用下列公式计算一阶导数:差异作用

强度\面积\素数=差值(强度\面积);绘图(强度、面积、质数、,“m-*”)网格头衔(“雪花的粒度测定(粒度分布)”)ax=gca;ax.XTick=[02448101241818202];xlabel(“雪花的半径(像素)”)伊拉贝尔(“雪花中的像素值之和作为半径的函数”)

提取具有特定半径的雪花

注意它们在图中出现的最小值和半径。最小值告诉你图像中的雪花有这些半径。最小值越为负,该半径处雪花的累积强度越高。例如,最负的最小值点出现在5像素半径标记处。你可以通过以下步骤提取半径为5像素的雪花。

open5=imopen(克拉黑,斯特雷)(“磁盘”,5));open6=imopen(claheI,strel(“磁盘”6));rad5 = imsubtract (open5,网球公开赛);imshow (rad5 [])

另见

||||