Opencv 如何检测纹理破坏

Opencv 如何检测纹理破坏,opencv,image-processing,feature-extraction,pattern-recognition,scikit-image,Opencv,Image Processing,Feature Extraction,Pattern Recognition,Scikit Image,假设我们有一些彩色图像,它们是一些纹理图案的示例。很少出现这种纹理被异物“破坏”的情况。检测这些罕见异常的最佳方法是什么 我曾想过训练一名CNN,但好的例子远远多于坏的例子,所以我有我的怀疑。我开始研究灰度共生矩阵(GLCM)和局部二元模式(LBP),但我认为颜色信息可能在确定中断的发生中起到重要作用。我能否从这些提取的特征(GLCM或LBP)中找到分布,并计算新图像属于此分布的概率 谢谢你的帮助 如果不看一些示例图像,就很难解决您的问题。原则上,可以使用多种方法来检测纹理破坏,即GLCM特征、

假设我们有一些彩色图像,它们是一些纹理图案的示例。很少出现这种纹理被异物“破坏”的情况。检测这些罕见异常的最佳方法是什么

我曾想过训练一名CNN,但好的例子远远多于坏的例子,所以我有我的怀疑。我开始研究灰度共生矩阵(GLCM)和局部二元模式(LBP),但我认为颜色信息可能在确定中断的发生中起到重要作用。我能否从这些提取的特征(GLCM或LBP)中找到分布,并计算新图像属于此分布的概率


谢谢你的帮助

如果不看一些示例图像,就很难解决您的问题。原则上,可以使用多种方法来检测纹理破坏,即GLCM特征、LBP、Law的遮罩、矢量量化等。测量局部熵是一种可行的方法。考虑下面的图像,我们可以清楚地分辨出两种纹理:

以下片段读取图像,计算圆形邻域或给定半径
25
上每个像素的局部熵,并显示结果:

来自skimage导入io
从skimage.filters.rank导入熵
从skimage.com导入磁盘
img=io.imread('https://i.stack.imgur.com/Wv74a.png')
R=25
过滤=熵(img,磁盘(R))
io.imshow(已过滤)
从得到的熵图可以清楚地看出,局部熵值可以用来检测纹理破坏


你能分享一些示例图像吗?@tonechas很遗憾,我不能,这是我能得到的关于这个问题的最具体的信息。没有更多信息很难回答这个问题,但是你看过Law的纹理度量吗?老掉牙,但可能有用。无论哪种技术可行,都将取决于您的应用程序。自然或人造对象/场景?来自摄像机的实时图像,或不同分辨率/质量的图像文件?如果你不能透露细节,那就考虑在当地的工程图书馆里花一天时间浏览课本、论文和会议论文(它们经常在网上付费)。有好几次,我发现很少有人提到帮助我解决奇怪问题的书。