【问题标题】:C++ / Java / C# Image processing libraryC++ / Java / C# 图像处理库
【发布时间】:2011-07-22 06:38:55
【问题描述】:

在图像和相似性匹配中查找相似部分的最佳库选择是什么?

谢谢。

【问题讨论】:

  • 您在寻找商业应用吗?我建议您获取 MVTec 的 Halcon 库的演示版。它包括一个有用的工具,可让您快速尝试匹配。 Matrox 也有非常棒的匹配解决方案(但您必须联系他们以获得演示)。其他阅读其他 cmets :)

标签: c# java c++ image-processing computer-vision


【解决方案1】:

听起来尺度不变特征变换 (SIFT) 可能是您真正需要的算法。顺便说一句,我不知道任何包含它的通用图像处理库,但肯定可以找到独立的实现(知道名称应该让谷歌搜索相对容易)。

【讨论】:

  • 我建议您搜索 Jerry 描述的方式,您可能会在 SIFT 和 SURF 的 C# 中找到一些免费的实现(Speeded Up Robust Features,inspired by SIFT with better performances),可以让您做到你所期待的。
  • OpenCV 是一个通用 C++/Python 图像处理库,包括 SIFTSURF 实现。 OpenCV 的端口适用于各种语言,例如流行的 C# 的 OpenCVSharp。
【解决方案2】:

ImageJJava 中最快的图像处理库。

【讨论】:

    【解决方案3】:

    OpenCV 无疑是一如既往的可靠选择。

    也就是说,VLFeat 也很好。它包括许多流行的特征检测器(包括 SIFT、MSER、Harris 等)以及聚类算法(如 kd-trees 和 quickshift)。您可以使用它非常快速地将诸如单词分类器之类的东西拼凑在一起。

    虽然 SIFT 无疑是一个可靠的通用解决方案,但它实际上是一个由特征检测器(图像中的哪些点感兴趣)、一个特征描述符(对于图像中的每个感兴趣的点,什么是好的表示)组成的管道,和一个特征匹配器(给定一个描述符和一个描述符数据库,我如何确定什么是最佳匹配)。

    根据您的应用程序,您可能希望拆分此管道并交换不同的组件。 VLFeat 的 SIFT 实现非常模块化,让您可以轻松地进行实验。

    【讨论】:

      【解决方案4】:

      没做过图像处理,听朋友说OpenCV挺好的,一般都是用C++的

      【讨论】:

        猜你喜欢
        • 2010-10-04
        • 1970-01-01
        • 2011-02-28
        • 2010-10-22
        • 1970-01-01
        • 2011-05-16
        • 2012-08-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多