【问题标题】:OpenCV - best approach to detect multiple similar, but different objectsOpenCV - 检测多个相似但不同对象的最佳方法
【发布时间】:2013-01-02 23:27:06
【问题描述】:

我的目标是使用 OpenCV 从图片中找到多个条形码。我曾尝试使用 SURF 来查找它们,但在这种情况下该方法无效(功能不够独特)。我也在考虑 HAAR,但它不是旋转不变的方法。

您认为处理此问题的最佳方法是什么?

(Full size image)

【问题讨论】:

  • 这张图片到底是什么?以前从未见过这样的。
  • 具有唯一标识符的样品管。
  • 假设您有每个条形码的大致区域,如i.imgur.com/XOw2y.png。你还想做什么?
  • 这些是数据矩阵码吗?如果是这样,你想解码它们吗?如果是这样,你试过libdmtx.org 吗?
  • @Jacek:在 Matlab 中 f = rgb2gray(imread('http://i.stack.imgur.com/4XBbu.jpg')); g = bwareaopen(bwmorph(edge(f - imopen(f, strel('disk', 3)), 'sobel'), 'dilate'), 150);。那么g就是前面链接中的图片。

标签: image-processing opencv


【解决方案1】:

训练支持向量机。创建具有多个方向的多个条形码的数据集。在测试图像时,构建一个比例金字塔并应用滑动窗口技术。它被称为“对象检测”。 “多个相似但不同”也称为类内变异。

编辑:或尝试this

【讨论】:

  • 谢谢。我将对 SVM 做一些研究。
  • 这也被称为“我不知道如何正确处理这个问题,所以我就让这个神奇的黑盒尝试解决它”。是的,我不是特别喜欢使用机器学习,除非有很好的理由。
  • @mmgp 对象检测/分类使用机器学习。检查最先进的图书馆。
  • @BillyL “最先进的图书馆”是指某个图书馆的最新版本吗?最先进的技术是指该领域当前的研究发展,因此至少这是一种奇怪的表达方式。我看过很多关于它的论文,其中大多数是坏的,有些非常好。大多数不好的是那些描述工作的人假设他有这么大的数据集,即使对输入进行预处理也可能产生好的结果,所以他继续像“通常”一样提取特征。现在,看,“建立一个规模金字塔”,“应用滑动窗口技术”太模糊了。
  • (继续)这些技术有很多方法可以执行,您的意思是使用所有您知道的方法吗?最后,您通常提到了 SVM,但这没有机会仅针对正类数据集。如果你想继续下去,一类 SVM 可能更合适。但是,对机器学习的需求还没有确定(只有你的答案有,我不明白这还不够)。
猜你喜欢
  • 2013-05-31
  • 2015-03-20
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多