技术领域
[0001] 本
发明涉及计算机
图像处理领域,特别涉及一种铸造缩孔缺陷图像生成方法。
背景技术
[0002] 无论是
铸造缺陷培训过程中的示教,还是设计自动检测缺陷系统,以及测试缺陷检测
算法,都需要大量的缺陷样本。从实际生产中采集缺陷样本最为理想,但铸造技术
水平的提高已大大降低次品率,甚至有些类型的缺陷较为罕见,使得大量获取同类样本非常困难。
[0003]
计算机生成图像的方法目前主要有基于参数的CAD法和基于非参数的图像
叠加法。
[0004] 基于CAD模型的缺陷图像生成法和缺陷叠加法已成为生成铸造缺陷的两种主要方法。射线
跟踪以及
X射线衰减,是CAD模型产生3-D铸造缺陷的
基础。其过程是设想从X射线源朝检测器发射一组射线,射线与设想的X射线检测
工件的表面以及缺陷的表面均有交点,通过射线衰减公式计算到达探测器每一
像素点的射线
能量强度,生成缺陷图像,变换拟定交点的
位置,即得到不同的图像。该方法不足在于:1)由于需首先手工设计设想的工件,确定缺陷的空间形状,因而手工绘制过程极大地限制了缺陷自然呈现的多样性和随机性;2)三维数据的表达和射线衰减计算,运算量极大,不利于大量的缺陷生成。
[0005] 缺陷叠加法是另一种铸造缺陷技术。它与CAD法的不同在于,缺陷创建过程中使用2-D图像技术将铸件缺陷叠加到真实射线图像上。它既不需要复杂的三维
软件包,也不需要实测铸件模型。然而,早期的研究结果表明,使用的方法不同,产生的缺陷类型迥异,有些方法无法使生成的缺陷接近真实缺陷的特征,达不到实用的目的。
发明内容
[0006] 本发明的目的在于克服
现有技术的缺点与不足,提供一种铸造缩孔缺陷图像生成方法,该方法基于diamond-square算法,用于生成铸件中常见的缩孔疏松缺陷图像。其中,diamond-square算法也叫正方形-正方形细分法,是将随机中点位移法用于正方形平面而生成的地面特征。
[0007] 本发明的目的通过以下的技术方案实现:
[0008] 一种铸造缩孔缺陷图像生成方法,包括缺陷图像生成、缺陷图像变换处理、融合产品结构背景三个阶段,具体为:
[0009] S1.缺陷图像生成阶段:
[0010] S101.构建一个(2n+1)×(2n+1)的二维数组,该二维数组为空二维数组,n的取值范围为(1,10);
[0011] S102.利用diamond-square算法生成(2n+1)×(2n+1)大小的高程数据,并将其对应地存储在步骤S101建立的二维数组中;
[0012] S103.对二维数组中的高程数据进行归一化处理;
[0013] S104.将归一化处理后的高程数据与8位灰度值图像的最大灰度值即255相乘,并将其作为所生成的缺陷图像;
[0014] S2.缺陷图像变换处理阶段:
[0015] S201.对经步骤S104处理得到的缺陷图像进行直方图均衡化;
[0016] S202.对经步骤S201处理得到的缺陷图像进行相应的
阈值化;
[0017] S203.对经步骤S202处理得到的图像进行高斯滤波;
[0018] S204.对经步骤S203处理得到的图像进行灰度拉伸;
[0019] S205.重复步骤S201~S204,得到变换处理后的缺陷图像;
[0020] S3.融合产品结构背景阶段:
[0021] S301.截取部分真实铸件中带缺陷的图像;
[0022] S302.经
纹理合成处理后,将步骤S301的图像除去缺陷后作为背景图像I;
[0023] S303.对背景图像I计算检测出其最大灰度值Imax、最小灰度值Imin,计算H=255/Imax的值;
[0024] S304.将步骤S303中的H值作为缺陷图像的归一化上限,并对由步骤S205得到的缺陷图像进行归一化得到缺陷图像D;
[0025] S305.将背景图像I和缺陷图像D进行点乘,得到最终的缺陷图像M=I*D。
[0026] 所述步骤S102包括以下步骤:
[0027] S102-1.步骤S101生成的(2n+1)×(2n+1)二维数组即(2n+1)×(2n+1)个像素的正方形,以5*5的正方形作为diamond-square算法即正方形
迭代分形示意图,用范围(-1,1)的随机值初始化正方形四个
角点A、B、C、D的高程值,分别设定为hA、hB、hC、hD,并根据hA、hB、hC、hD总和的平均值加上一范围在(-1,1)的随机值 来确定该正方形中心点M的高程值,则中心点M的高程值为
[0028]
[0029] S102-2.将正方形划分为4个子正方形,并根据hA、hB、hC、hD与hM总和的平均值加上一范围在(-1,1)的随机值来确定这4个子正方形边界中点E、F、G、H的高程值,则其高程值分别为
[0030] S102-3.重复步骤S102-2,递归划分各子正方形,直到确定正方形所有高程点的高程值,并将其一一对应地存储到步骤S101建立的二维数组中。
[0031] 所述步骤S103包括以下步骤:
[0032] S103-1.求出二维数组中高程数据的最小值,并取其绝对值,设为hmin;
[0033] S103-2.将二维数组中所有点的高程数据分别加上步骤S103-1得到的绝对值,即h'A=hA+hmin、h'B=hB+hmin…,并作为新的高程数据即h'A、h'B…保存在二维数组中;
[0034] S103-3.求出步骤S103-2得到的二维数组中高程数据的最大值hmax;
[0035] S103-4.将二维数组中所有的高程数据除以步骤S103-3得到的最大值,完成对高程数据的归一化处理。
[0036] 所述步骤S202包括以下步骤:
[0037] S202-1.根据Ostu最大类间方差法,求出经步骤S201处理得到的缺陷图像的分割阈值;
[0038] S202-2.选出缺陷图像中所有灰度值小于分割阈值的点,并将这些点的灰度值设置为缺陷图像灰度值的平均值;
[0039] S202-3.将经步骤S202-2处理得到的缺陷图像的灰度值一一映射到(0,255)之间的灰度值上。
[0040] 所述步骤S204以下步骤:
[0041] S204-1.获取经步骤S203处理得到的缺陷图像的尺寸与波段数;
[0042] S204-2.运用灰度拉伸公式对缺陷图像的每个波段依次进行灰度拉伸;
[0043] S204-3.保存灰度拉伸结果。
[0044] 所述步骤S304以下步骤:
[0045] S304-1.获取缺陷图像灰度值的众数,即图像灰度直方图中出现
频率最高的某一灰度值,设为gm;
[0046] S304-2.选出缺陷图像中所有灰度值小于gm的点,并将这些点的灰度值设置为gm;
[0047] S304-3.根据归一化上限H以及归一化下限1,对经步骤S304-2处理得到的缺陷图像进行归一化处理,归一化处理后得到的缺陷图像
[0048] D=1+((I-Imin)/(Imax-Imin))*(H-1)。
[0049] 本发明与现有技术相比,具有如下优点和有益效果:
[0050] 1、通过在(1,10)的范围内改变构建的(2n+1)×(2n+1)二维数组中n的大小即可生成不同尺寸的缺陷图像。
[0051] 2、由于hA、hB、hC和hD是随机数,因此每次生成的缺陷图像形状具有随机性,符合缺陷的形状不确定的特征,从而达到真实感效果。
[0052] 3、本发明生成缺陷样本效率高。
附图说明
[0053] 图1为本发明所述的一种铸造缩孔缺陷图像生成方法的
流程图;
[0054] 图2是本发明的diamond-square算法流程图;
[0055] 图3是本发明的diamond-square算法迭代分形示意图;
[0056] 图4a、4b、4c分别为实测缺陷的第一、第二、第三样本;
[0057] 图5a、5b、5c分别为实测缺陷的第一、第二、第三样本经纹理合成处理后无缺陷的产品背景图像;
[0058] 图6a、6b、6c分别为基于diamond-square算法生成的第一、第二、第三缺陷图像;
[0059] 图7a、7b、7c分别为第一、第二、第三仿真缺陷样本,其中第一仿真缺陷样本为实测缺陷的第一样本经纹理合成处理后无缺陷的产品背景图像与基于diamond-square算法生成的第一缺陷图像合成的仿真缺陷样本,第二仿真缺陷样本为实测缺陷的第二样本经纹理合成处理后无缺陷的产品背景图像与基于diamond-square算法生成的第二缺陷图像合成的仿真缺陷样本,第三仿真缺陷样本为实测缺陷的第三样本经纹理合成处理后无缺陷的产品背景图像与基于diamond-square算法生成的第三缺陷图像合成的仿真缺陷样本。
具体实施方式
[0060] 下面结合
实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0061] 如图1所示,一种基于diamond-square算法的铸造缩孔缺陷图像生成方法,包括缺陷图像生成、缺陷图像变换处理、融合产品结构背景三个阶段,所述缺陷图像生成阶段包括以下步骤:
[0062] S1.构建一个(2n+1)×(2n+1)的二维数组,该二维数组为空二维数组,n的取值范围为(1,10);
[0063] S2.利用diamond-square算法生成(2n+1)×(2n+1)大小的高程数据,并将其对应地存储在步骤S1建立的二维数组中;
[0064] S3.对二维数组中的高程数据进行归一化处理;
[0065] S4.将归一化处理后的高程数据与8位灰度值图像的最大灰度值即255相乘,并将其作为所生成的缺陷图像;
[0066] 所述缺陷图像变换处理阶段包括以下步骤:
[0067] S5.对经步骤S4处理得到的缺陷图像进行直方图均衡化;
[0068] S6.对经步骤S5处理得到的缺陷图像进行相应的阈值化;
[0069] S7.对经步骤S6处理得到的图像进行高斯滤波;
[0070] S8.对经步骤S7处理得到的图像进行灰度拉伸;
[0071] S9.重复步骤S5~S8,得到变换处理后的缺陷图像;
[0072] 所述融合产品结构背景阶段包括以下步骤:
[0073] S10.截取部分真实铸件中带缺陷的图像;
[0074] S11.经纹理合成处理后,将步骤S10的图像除去缺陷后作为背景图像I;
[0075] S12.对背景图像I计算检测出其最大灰度值Imax、最小灰度值Imin,计算H=255/Imax的值;
[0076] S13.将步骤S12中的H值作为缺陷图像的归一化上限,并对由步骤S9得到的缺陷图像进行归一化;
[0077] S14.将背景图像I和缺陷图像D进行点乘,得到最终的缺陷图像M=I*D。
[0078] 具体地,如图2所示,所述步骤S2包括以下步骤:
[0079] S2-1.步骤S1生成的(2n+1)×(2n+1)二维数组即(2n+1)×(2n+1)个像素的正方形,在本发明中,如图3所示,以5*5的正方形作为diamond-square算法即正方形迭代分形示意图,用范围(-1,1)的随机值初始化正方形四个角点A、B、C、D的高程值,分别设定为hA、hB、hC、hD,并根据hA、hB、hC、hD总和的平均值加上一范围在(-1,1)的随机值 来确定该正方形中心点M的高程值,则中心点M的高程值为
[0080]
[0081] S2-2.将正方形划分为4个子正方形,并根据hA、hB、hC、hD与hM总和的平均值加上一范围在(-1,1)的随机值来确定这4个子正方形边界中点E、F、G、H的高程值,则其高程值分别为
[0082] S2-3.重复步骤S2-2,递归划分各子正方形,直到确定正方形所有高程点的高程值,并将其一一对应地存储到步骤S1建立的二维数组中。
[0083] 所述步骤S3包括以下步骤:
[0084] S3-1.求出二维数组中高程数据的最小值,并取其绝对值,设为hmin;
[0085] S3-2.将二维数组中所有点的高程数据分别加上步骤S3-1得到的绝对值,即h'A=hA+hmin、h'B=hB+hmin…,并作为新的高程数据即h'A、h'B…保存在二维数组中;
[0086] S3-3.求出步骤S3-2得到的二维数组中高程数据的最大值hmax;
[0087] S3-4.将二维数组中所有的高程数据除以步骤S3-3得到的最大值,完成对高程数据的归一化处理。
[0088] 所述步骤S6包括以下步骤:
[0089] S6-1.根据Ostu最大类间方差法,求出经步骤S6处理得到的缺陷图像的分割阈值;
[0090] S6-2.选出缺陷图像中所有灰度值小于分割阈值的点,并将这些点的灰度值设置为缺陷图像灰度值的平均值;
[0091] S6-3.将经步骤S6-2处理得到的缺陷图像的灰度值一一映射到(0,255)之间的灰度值上。
[0092] 所述步骤S8以下步骤:
[0093] S8-1.获取经步骤S7处理得到的缺陷图像的尺寸与波段数;
[0094] S8-2.运用灰度拉伸公式对缺陷图像的每个波段依次进行灰度拉伸;
[0095] S8-3.保存灰度拉伸结果。
[0096] 所述步骤S13以下步骤:
[0097] S13-1.获取缺陷图像灰度值的众数,即图像灰度直方图中出现频率最高的某一灰度值,设为gm;
[0098] S13-2.选出缺陷图像中所有灰度值小于gm的点,并将这些点的灰度值设置为gm;
[0099] S13-3.根据归一化上限H以及归一化下限1,对经步骤S13-2处理得到的缺陷图像进行归一化处理,归一化处理后得到的缺陷图像
[0100] D=1+((I-Imin)/(Imax-Imin))*(H-1)。
[0101] 图4a、图4b、图4c为实际采集的真实缺陷样本;图5a、图5b、图5c是将上述真实缺陷样本进行纹理合成处理,使之成为无缺陷的背景图像,这一步是为了更好地比较实测缺陷样本与仿真缺陷图像和真实背景图像融合后的效果;图6a、图6b、图6c所示为基于diamond-square算法生成的缺陷图像,由图可知每次生成的缺陷图像形状具有随机性,符合缺陷的形状不确定的特征;图7a、图7b、图7c所示为本发明实施例中将缺陷图像与铸件背景图像合成的缺陷样本,经过主观视觉评测,合成的效果在真实感方面与实测缺陷样本相比具有较高的认同率。
[0102] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。