Image 文档图像分类的模板匹配与特征匹配

Image 文档图像分类的模板匹配与特征匹配,image,opencv,pattern-matching,emgucv,document-classification,Image,Opencv,Pattern Matching,Emgucv,Document Classification,为了对大量不同的文档图像进行分类,通常使用两种方法。 为了获得更好的性能,这些方法使用GPU编程 第一种方法:基于模板 在该方法中,从图像中提取固定模式,并与其他图像进行比较。 如果相似度大于阈值,则图像将被正确分类 代码: 第一种方法的问题: 此方法对于旋转超过10度不是不变的。这个 图像中选定的图案可能会被破坏。(例如,损坏 如果图案太多,则 性能降低 第二种方法:基于图像特征 通过这种方式,可以选择图像中的某些点来抵抗这些更改。 如果其他图像中存在相似点,则对图像进行分类 代码: 第二种方

为了对大量不同的文档图像进行分类,通常使用两种方法。 为了获得更好的性能,这些方法使用GPU编程

第一种方法:基于模板

在该方法中,从图像中提取固定模式,并与其他图像进行比较。 如果相似度大于阈值,则图像将被正确分类

代码:

第一种方法的问题:

此方法对于旋转超过10度不是不变的。这个 图像中选定的图案可能会被破坏。(例如,损坏 如果图案太多,则 性能降低

第二种方法:基于图像特征

通过这种方式,可以选择图像中的某些点来抵抗这些更改。 如果其他图像中存在相似点,则对图像进行分类

代码:

第二种方法的问题:

在具有相同特征向量的其他图像中存在相似区域。这 方法有较大的假阳性,结构变化较小 类似的文件也被销毁了

第一种方法具有较高的准确度,但对于表征而言,效率较低。 第二种方法精度较低,但用于找到正确的点的算法性能较高

问题:

要达到最佳的准确性和效率,重点放在哪种方法上? 是否有更好的方法对文档图像进行分类

注意事项:

由于文档图像的分辨率为每英寸100点,因此使用基于轮廓匹配和OCR的方法是没有用的。 我们使用OpenCV或Emgu_CV库进行图像分类。 图像可以旋转10度以上

样本:


你们将上什么课?如果问题是旋转,你不能预处理你的图像来纠正它吗?@Miki图像类的数量大约是40个,但是有很多不相关的图像可能会造成麻烦。我想Bag od Words方法将非常适合你的应用@Balaji R这种方法对实时应用有用吗?
GpuInvoke.MatchTemplate(source, template, imageresult, `Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCOEFF_NORMED, IntPtr.Zero, IntPtr.Zero);`
GpuBruteForceMatcher matcher = new GpuBruteForceMatcher(GpuBruteForceMatcher.DistanceType.L2);

matcher.KnnMatch(gpuObservedDescriptors, gpuModelDescriptors, gpuMatchIndices, gpuMatchDist, 2, null);