1.完整项目描述和程序获取
面包多安全交易平台:https://mbd.pub/o/bread/Y5uWm5dx
如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。
2.部分源码
3.部分仿真图预览
4.算法概述
我们使用11或13维特征向量表示图像中的每个像素。两个特征用于表示像素之间的空间关系;由图像尺寸规格化的x和y像素坐标。对于灰度图像,一个特征是低通表示,它捕获平均图像强度。(低通r、g和b平面用于彩色图像)。我们使用8个特征来表示纹理信息,使用对一组定向过滤器的响应。最后,利用主成分分析法对特征空间进行降维。详细说明如下。
a、 平均灰度(和颜色信息)
我们使用中值滤波从图像中提取平均灰度和颜色信息。我们使用了一个11像素宽的中值滤波器,因为它充分抑制了小尺度纹理信息,同时仍能很好地保留轮廓和边界信息。对于彩色图像,我们对每个颜色平面应用中值过滤器。图2a和2b显示了使用的低通颜色和灰度特征。
b、 纹理特征提取
为了提取纹理特征,我们考虑与人类前注意纹理识别机制进行类比[9]。该模型包括(1)与一组偶数对称线性滤波器进行卷积,然后进行半波校正,以给出一组V1简单细胞的响应建模输出,然后(2)在空间中定位的抑制,当相同或附近位置存在强响应时,会抑制弱响应,最后(3)纹理边界检测。
我们使用高斯差分(DOG)和偏移高斯差分滤波器(DOOG)作为线性滤波器。使用的DOG过滤器对斑点区域和使用的DOOG过滤器作出响应,对不同方向的障碍区域作出响应。我们使用两种不同的DOG滤波器来检测两个不同的斑点区域和6个不同的方向DOOG过滤器的数量。过滤器如图3所示。纹理图像对单个过滤器的响应如图4所示。请注意,与其他纹理分割方法不同,我们只使用单个尺度的过滤器(8像素宽)。我们这样做是因为在较高的比例下,纹理区域不会受到模糊瑕疵的影响,因此我们选择不使用这些区域进行纹理合成。在这一步之后,我们采用全波整流,而不是半波整流。半波校正用于复制纹理区域和它们的负片之间的区分。然而,在我们使用的小范围内,这种区分并不十分必要,我们更喜欢使用全波区分。
为了复制步骤(2)和(3),我们不使用抑制和纹理边界检测,而是使用一个简单的9像素宽中值滤波器。众所周知,中值滤波器在强响应存在时抑制弱响应,并且仍然保持边界信息。因此,中值滤波器在一个步骤中实现了步骤(2)和(3)。
我们基于以下对细分的洞察力进行研究。考虑图6a所示的图像及其纹理特征(使用斑点过滤器),如图6b所示。我们可以直观地将4b分割为两个区域,有纹理和无纹理。现在考虑图6c,它显示了4b的随机抽样子集。仍然可以定义轮廓并对图像进行分割,类似于4b中的分割。在这个分割之后,如果我们考虑所有剩余的点,那么它们可以在这个初始分割的基础上被分类为有纹理的或无纹理的。根据这一见解,我们推导出以下算法。
图像被分割成不同的条形、斑点和模糊区域后,我们应用一种简单的基于规则的启发式算法将区域分类为潜在的模糊伪影及其对应的源区域(纹理未丢失的区域)。这种启发式应该具有低错误识别的特点。作为这一过程的第一步,我们将上一节中的每个片段确定为“有纹理”和“无纹理”。