《一种羊毛细度自动测量方法.pdf》由会员分享,可在线阅读,更多相关《一种羊毛细度自动测量方法.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103499303 A (43)申请公布日 2014.01.08 CN 103499303 A (21)申请号 201310450099.0 (22)申请日 2013.09.27 G01B 11/08(2006.01) (71)申请人 中国人民解放军空军工程大学 地址 710038 陕西省西安市灞桥区霸陵路 1 号 (72)发明人 周理 查宇飞 马时平 毕笃彦 许悦雷 (74)专利代理机构 北京科亿知识产权代理事务 所 ( 普通合伙 ) 11350 代理人 汤东凤 (54) 发明名称 一种羊毛细度自动测量方法 (57) 摘要 本发明公开了一种羊毛细度自动测量方法, 该。
2、方法包括以下步骤 : 准备自动测量羊毛细度所 需的仪器, 即 LED 光源、 测试样品 XY 工作台、 光学 放大系统、 数字相机 ; LED 光源将光线投向测试样 品 ; 经过光学放大系统, 被 CCD 相机捕获样品图 像 ; 样品图像被送入计算机处理系统进行测量计 算。本发明提供的羊毛细度自动测量方法不需人 工干预, 减轻人力资源, 避免人主观因素引入的误 差 ; 采用简单高效的处理环节, 使整个羊毛自动 测量过程的耗时量缩短至 30ms 以内, 最大限度保 持羊毛原状, 避免破坏羊毛几何尺寸, 这是测量精 度得以保证的基础 ; 在计算直径时, 采用面积法 近似求解直径的依据是羊毛边缘基本。
3、上是呈直线 状态或近似于直线状态, 因此, 测量精度不会受较 大影响。 (51)Int.Cl. 权利要求书 2 页 说明书 11 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图4页 (10)申请公布号 CN 103499303 A CN 103499303 A 1/2 页 2 1. 一种羊毛细度自动测量方法, 其特征在于, 该方法包括以下步骤 : 准备自动测量羊毛细度所需的仪器, 即 LED 光源、 测试样品 XY 工作台、 光学放大系统、 数字相机 ; LED 光源将光线投向测试样品 ; 经过光学放大系统, 被 CCD 相机捕。
4、获样品图像 ; 样品图像被送入计算机处理系统进行测量计算。 2. 如权利要求 1 所述的羊毛细度自动测量方法, 其特征在于, 计算机处理系统进行测 量计算的具体步骤为 : 步骤 1 : 读入羊毛图像 ; 步骤 2 : 若羊毛图像质量差, 则跳至步骤 1 ; 步骤 3 : 对输入图像下采样以降低计算量 ; 步骤 4 : 采用包括动态调整、 Gamma 校正和中值滤波在内的预处理消除噪声、 畸变 ; 步骤 5 : 运用全局阈值法与局部阈值法相结合, 选取分割阈值, 将羊毛图像二值化, 获 得二值化前景图像 ; 步骤 6 : 利用数学形态学腐蚀和膨胀 2 个算子对二值化前景图像进行细化操作, 提取羊。
5、 毛骨架 ; 步骤 7 : 通过查表法, 找到并标出交叉点, 从而获得没有交叉的羊毛段 ; 步骤 8 : 将羊毛段近似为矩形, 通过计算羊毛区域面积和所对应的骨架, 将两者相除即 可得到单根羊毛的直径, 记录羊毛直径 ; 步骤 9 : 若还有羊毛图像输入, 则跳至步骤 1 ; 步骤 10 : 若测量得到的羊毛直径在正常范围内, 则保留, 否则剔除 ; 步骤 11 : 将所有在正常范围内的羊毛直径求数学统计平均, 所得结果为该批羊毛的平 均直径。 3. 如权利要求 1 所述的羊毛细度自动测量方法, 其特征在于, 二值化的过程中采用基 于全局和局部阈值结合的二值化处理方法, 具体步骤如下 : 步骤。
6、 1 : 采用最大类间方差法计算整幅图像的全局阈值 T1; 步骤 2 : 将图像分为一系列 rr 的子图像 ; 步骤3 : 求出一个窗口内部的像素灰度最大值gmax和最小值gmin, 利用(gmax+gmin)/2可以 计算出该窗口一个局部阈值 T2; 步骤 4 : 若 T1T2, 则该窗口采用 T1进行全局二值化处理, 跳至步骤 6 ; 步骤 5 : 若 T1 T2, 对该窗口内的每一像素值分别采用局部阈值算法处理, 判定该点属 于前景点还是背景点, 完成此窗口的局部二值化处理 ; 步骤 6 : 若分割的子图像还有未处理的, 跳至步骤 3, 否则终止算法。 4. 如权利要求 1 所述的羊毛细。
7、度自动测量方法, 其特征在于, 骨架提取的具体步骤如 下 : 步骤 1 : 设输入二值图像为 H, 定义结构元素 Y ; 步骤 2 : 对图像 H 进行连续 n 次腐蚀, 结果用 HnY 表示, n 初始值为 1 ; 步骤 3 : 用 Y 对 HnY 进行先腐蚀后膨胀操作, 即 : (HnY)Y Y ; 步骤 4 : 设 image_SKn为图像 H 第 n 次骨架提取的子数据集, 则借助式 4 计算出 image_ 权 利 要 求 书 CN 103499303 A 2 2/2 页 3 SKn, 其中 “/” 为两个数据集的差集 ; image_SKn=HnY/(HnY)Y Y (4) 步骤 。
8、5 : 设 image_SK(H) 为二维离散数据集 H 的骨架, 那么通过式 (5) 计算出 image_ SK(H) ; 步骤 6 : 若 nT2, 则该窗口采用 T1进行全局二值化处理, 跳至步骤 6 ; 0039 步骤 5 : 若 T1 T2, 对该窗口内的每一像素值分别采用局部阈值算法处理, 判定该 点属于前景点还是背景点, 完成此窗口的局部二值化处理 ; 0040 步骤 6 : 若分割的子图像还有未处理的, 跳至步骤 3, 否则终止算法。 0041 进一步, 骨架提取的具体步骤如下 : 0042 步骤 1 : 设输入二值图像为 H, 定义结构元素 Y ; 0043 步骤 2 : 对。
9、图像 H 进行连续 n 次腐蚀, 结果用 HnY 表示, n 初始值为 1 ; 0044 步骤 3 : 用 Y 对 HnY 进行先腐蚀后膨胀操作, 即 : (HnY)Y Y ; 0045 步骤 4 : 设 image_SKn为图像 H 第 n 次骨架提取的子数据集, 则借助式 4 计算出 image_SKn, 其中 “/” 为两个数据集的差集 ; 0046 image_SKn=HnY/(HnY)Y Y (4) 0047 步骤 5 : 设 image_SK(H) 为二维离散数据集 H 的骨架, 那么通过式 (5)计算出 image_SK(H) ; 0048 0049 步骤 6 : 若 nT2, 。
10、则该窗口采用 T1进行全局二值化处理, 跳至步骤 6 ; 0101 步骤 5 : 若 T1 T2, 对该窗口内的每一像素值分别采用局部阈值算法处理, 判定该 点属于前景点还是背景点, 完成此窗口的局部二值化处理 ; 0102 步骤 6 : 若分割的子图像还有未处理的, 跳至步骤 3, 否则终止算法。 0103 作为本发明实施例的一优化方案, , 骨架提取的具体步骤如下 : 0104 步骤 1 : 设输入二值图像为 H, 定义结构元素 Y ; 0105 步骤 2 : 对图像 H 进行连续 n 次腐蚀, 结果用 HnY 表示, n 初始值为 1 ; 0106 步骤 3 : 用 Y 对 HnY 进行。
11、先腐蚀后膨胀操作, 即 : (HnY)Y Y ; 0107 步骤 4 : 设 image_SKn为图像 H 第 n 次骨架提取的子数据集, 则借助式 4 计算出 image_SKn, 其中 “/” 为两个数据集的差集 ; 0108 image_SKn=HnY/(HnY)Y Y (4) 0109 步骤 5 : 设 image_SK(H) 为二维离散数据集 H 的骨架, 那么通过式 (5)计算出 image_SK(H) ; 0110 0111 步骤 6 : 若 nT2, 则该窗口采用 T1进行全局二值化处理, 跳至步骤 6 ; 0158 步骤 5 : 若 T1 T2, 对该窗口内的每一像素值分别采。
12、用局部阈值算法处理, 判定该 点属于前景点还是背景点, 完成此窗口的局部二值化处理 ; 0159 步骤 6 : 若分割的子图像还有未处理的, 跳至步骤 3, 否则终止算法。 0160 该算法巧妙地结合全局和局部阈值法, 将子图像作为一级分割对象, 像素点则退 为二级分割对象。 因此, 在兼顾算法处理速度的同时也大幅降低目标尺寸失真度, 可获得较 好的二值化处理效果。如图 5 所示, 二值后的羊毛段边缘不仅整体光滑无毛刺, 而且连通性 好。 0161 (4) 数学形态学细化处理提取骨架 0162 数学形态学提供了一种以形态或集合论为基础的对图像进行分析理解的工具, 它 主要包括膨胀和腐蚀 2 个。
13、算子。本发明用这些算子及其组合来进行图像形状和结构的分 析, 以提取羊毛骨架。首先, 介绍膨胀与腐蚀两类基本算子。 0163 (1) 膨胀算子 0164 设 H 为数据集合 ,Y 为结构元素, Yh为 Y 的核 , 则 : 0165 0166 上式读作 : H 用 Y 来进行膨胀时 , 其结果为 h 的集合 , 其中所包含的为 Yh与 H 之 交不为空集的诸数据集。或者也可以这样说 ; H 是 Yh的击中 ( 用 符号来表示 )H 后形成的 数据集。膨胀运算在数学形态学中的作用是把图像周围的背景合并到物体中。如果两个物 体之间的距离比较近 , 那么扩张运算会把两个物体连通在一起。膨胀运算对填补。
14、图像分割 后物体中的空洞很有用。假设二值图像中, 0( 黑色 ) 为对象, 1( 白色) 为背景, 那么采用膨 胀算子进行逐步处理时, 目标的几何轮廓慢慢发生膨胀效应。 随着处理次数的增加, 这种效 说 明 书 CN 103499303 A 11 9/11 页 12 应不断加强, 甚至出现目标交融的现象, 如图 6 所示。 0167 (2) 腐蚀算子 0168 腐蚀与扩张形成一对, 其可以表示为 : 0169 0170 数据集 H 用结构元素 Y 来进行腐蚀的结果集 h 由能被 H 所包含的结构元素的核 Yh 所构成。腐蚀运算在数学形态学中的作用是消除物体的边界点。如果两个物体之间有细小 的连。
15、通时 , 那么当结构元素足够大时 , 通过腐蚀运算可以将两个物体分开。对二值图像采 用腐蚀算子逐步处理时, 目标的几何尺寸在渐渐缩小。从第二次处理后, 目标开始出现丢 失, 直至第六次时几乎完全消失了, 处理示例如图 7 所示。 0171 骨架提取的具体步骤如下 : 0172 步骤 1 : 设输入二值图像为 H, 定义结构元素 Y ; 0173 步骤 2 : 对图像 H 进行连续 n 次腐蚀, 结果用 HnY 表示, n 初始值为 1 ; 0174 步骤 3 : 用 Y 对 HnY 进行先腐蚀后膨胀操作, 即 : (HnY)Y Y ; 0175 步骤 4 : 设 image_SKn为图像 H 。
16、第 n 次骨架提取的子数据集, 则借助式 4 计算出 image_SKn, 其中 “/” 为两个数据集的差集 ; 0176 image_SKn=HnY/(HnY)Y Y 0177 (4) 步骤 5 : 设 image_SK(H) 为二维离散数据集 H 的骨架, 那么通过式 5 计算出 image_SK(H) ; 0178 0179 步骤 6 : 若 nN, 则跳至步骤 2, 否则结束循环, 其中 N 为结构元素的最大值, 超过这 个值, 一次腐蚀运算将使 H 变为空集 ; 0180 步骤 7 : 最终剩下的 image_SK(H) 即为图像骨架。 0181 算法最后获得的羊毛骨架如图 8 所示。
17、。 0182 (5) 利用模板法寻找交叉点 0183 为了识别非交叉羊毛段, 首先需要通过识别骨架中的交叉点以确定非交叉骨架 的位置信息。为此, 本发明采用模板法寻找交叉点。模板法是指事先根据目标特征制定 模板, 依照模板进行穷搜索的一类方法。考虑到羊毛骨架图像简单, 模板法不但算法简洁 而且效率也高。关于交叉点的定义, 文献 LAM L,LEE S W.Thinning Methodologiesa Comprehensive SurveyJ,IEEE Trans on Pattern Analysis and Machine Intelligenc e,1992,14(9):869-895。
18、. 在背景为暗、 前景为亮的前提下给出了如下定义。 0184 定义 1 : 前景点 P 的 8 邻域内其它前景点数目总和 XH(P) 不小于 2, 则称 P 为交叉 点。数学表达式见式 (6)。 0185 0186 其中, Skel 表示前景点 P 的 8 领域, XH(P) 的表达式见式 (7), xi为邻域像素点。 0187 说 明 书 CN 103499303 A 12 10/11 页 13 0188 0189 事实上, 该组定义存在不可忽视的漏洞。 假设骨架宽度为两个像素点, 那么骨架端 点 P 的 8 邻域内将存在 2 个或者 3 个前景点, 如图 9。根据定义 1, 端点 P 将被。
19、误判为骨架 的交叉点, 这显然不正确。 0190 原因是定义 1 仅仅在骨架为单像素宽度的假设下成立, 但是现有的骨架提取算法 对于所采用的结构元素有较强的依赖性, 而结构元素本身又具有一定的形状和大小, 因此 无法保证所提取的骨架具有一致单像素宽度。当然宽度超过 3 像素的骨架, 本文认为骨架 提取失败, 不予考虑。分析图 10, 双像素端点排列虽然有 9 种情况, 但它们邻域中的像素点 都是彼此紧邻。为此本文在上述定义基础上增加一个约束条件, 即沿逆时针方向, 前景点 P 的 8 邻域内像素由 0 到 1 或 1 到 0 变换的次数 XR(P) 控制在一定范围内。修正后的定义如 下所示。 。
20、0191 定义 2 : 沿逆时针方向, 前景点 P 的 8 邻域内像素由 0 到 1 或 1 到 0 变换次数 XR(P) 至少为 4 次, 并且该邻域内的前景点数不小于 2, 则称 P 为交叉点, 数学表达式见式 (8)。 0192 0193 其中, XR(P) 的表达式见式 (9)。 0194 0195 算法具体步骤如下所述 : 0196 步骤 1 : 读入羊毛骨架图像 image_SK(H) ; 0197 步骤 2 : 构造两个 33 矩阵 X 和 M, X 矩阵是 image_SK(H) 的子图像, 中间元素为 x(5), 其它 8 个元素逆时针依次 x(1)x(2)x(9), 而 M。
21、 矩阵中间元素也为 x(5), 只是其它 8 元素逆时针依次为 x(2),x(3),x(4),x(6),x(7),x(8),x(9),x(1); 0198 步骤 3 : 设定交叉点的模板, 将 X 矩阵与 M 矩阵对应元素相减, 差取绝对值, 即 XR(P)。X 矩阵中间元素 8 领域元素求和, 和即为 XH(P)。交叉点模板为 XR(P) 至少为 4 且 XH(P) 大于 2 ; 0199 步骤 4 : 依据模板寻找交叉点, 并作好标记 ; 0200 步骤 5 : 若 image_SK(H) 没有遍历, 则跳至步骤 2, 否则结束循环。 0201 算法最后得到的处理图像标有交叉点的位置信息,。
22、 如图 10 所示。 0202 (6) 直径计算 0203 面积法, 顾名思义, 它的原理是这样的 : 首先在一根羊毛沿着水平方向或竖直方 向取一个一定长度的微段, 在该微段上羊毛边缘基本上是呈直线状态或近似于直线状态 ( 如图 11 所示 )。因此, 这个微段可以近似地看作为一个平行四边形 ( 如图 12 所示 ), 这个 平行四边形的两条边是羊毛的边界, 面积 S 可以通过一行行或一列列地数点累加来得到, 总的象素点数实际上表示的就是面积, 把羊毛边界的那条边作为底边, 它的长度 L 可以通 过计算相关的两个端点的距离得到, 设这条底边上的高为 N, 利用面积公式 S=LN, 可以求 说 。
23、明 书 CN 103499303 A 13 11/11 页 14 出这条高 N=S/L, N 实际上也就是该羊毛的直径。由于羊毛段的面积和长度容易求的, 故本 发明采用面积法近似计算羊毛直径。 0204 具体步骤如下所示 : 0205 步骤 1 : 分别读入羊毛二值化图像 H 和羊毛骨架图像 image_SK(H) ; 0206 步骤 2 : 根据交叉点, 可以确定 H 中非交叉的完整羊毛段区域, 统计该区域内的像 素点数目, 即为平行四边形面积 S ; 0207 步骤 3 : 同样根据交叉点, 确定 image_SK(H) 中非交叉的完整羊毛段区域, 统计该 羊毛区域内骨架的像素点数目, 即。
24、为平行四边形底边 L ; 0208 步骤 4 : 采用公式 N=S/L, 求出 N, 若 N 在羊毛直径合理范围内, 即近似为羊毛直径, 否则抛弃该测量值 ; 0209 步骤 5 : 如 H 和 image_SK(H) 没有遍历, 则跳至步骤 2 ; 0210 步骤 6 : 将所求一系列直径 N 求数学统计平均, 结果即为该幅图像中羊毛的平均直 径。 0211 1.2.4 软件仿真测试 0212 从羊毛纺织厂获取 8 幅已知羊毛细度的样品图像作为本软件测试对象, 测量值如 表 1 所示。从测量结果上看, 本软件偏离标准值的误差在 1um 以内, 测量精度高。此外, 每 幅图的整个处理时间均在 。
25、30ms 以内, 符合实际生产实时性要求高的需求。 0213 表 1 羊毛细度测量值 0214 0215 0216 以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。 说 明 书 CN 103499303 A 14 1/4 页 15 图 1 图 2 说 明 书 附 图 CN 103499303 A 15 2/4 页 16 图 3 图 4 图 5 说 明 书 附 图 CN 103499303 A 16 3/4 页 17 图 6 图 7 说 明 书 附 图 CN 103499303 A 17 4/4 页 18 图 8 图 9 图 10 图 11 图 12 说 明 书 附 图 CN 103499303 A 18 。