【问题标题】:OpenCV haartraining: Mergevec error: Input file does not exist or not readableOpenCV haartraining:Mergevec 错误:输入文件不存在或不可读
【发布时间】:2014-05-19 20:52:39
【问题描述】:

this tutorial 之后,我创建了正样本,但现在需要使用 mergevec 合并它们。我下载了提供的 mergevec.exe 二进制文件并获得了两个必需的 dll cxcore100.dllhighgui100.dll。但是,当我这样运行它时:

mergevec samples.txt samples.vec

它给了我错误:

ERROR: Input file <filename> does not exist or not readable.

我应该怎么做才能解决这个问题?我的 vec 文件很好,因为我可以使用 opencv_createsamples 实用程序查看它们。所以我知道他们很好。

【问题讨论】:

  • 那个教程很好,但它现在已经 7 岁了。 create_samples 可以快速入门,但您不会从中得到任何好的级联。取而代之的是,获得很多“真实”的正面图像。用于培训。
  • 谢谢.... 不幸的是我只有几个。至少出于演示目的,大约 10-15 个正样本和大约 100 个负样本是否可以构成一个合理的分类器? :( 仅用于演示目的...

标签: c++ opencv cascading training-data haar-classifier


【解决方案1】:

我也遇到了这个问题,并制作了一个python实用程序,它结合了.vec文件以避免再次安装OpenCV:https://github.com/wulfebw/mergevec

希望对你有帮助。

【讨论】:

  • 它不起作用。我有5 .vec文件,每个文件都有1000个样本,但运行代码后,我仍然得到只有1000且不是5000个样本的输出文件。 span>
【解决方案2】:

前几天我和你的情况一样,所以我会尽力帮助你=P。

首先,我很想知道您在哪里找到了 mergevec.exe,因为如果我记得的话,它已经无法下载了。我问是因为我认为您可能已经下载了在 Linux 上编译的 exe。当我尝试在 Windows 计算机上执行在 Ubuntu 上编译的 mergevec 时,我遇到了同样的错误。即使有2个dll。

正如我在here 解释的那样,Naotoshi 的 mergevec 最初是为 Unix 发行版制作的,所以在 windows 下你会遇到很多问题。我第一次尝试在 windows 上做,但我放弃了,因为它太复杂了,即使安装了完整的 Cygwin,我也无法编译 mergevec.cpp。

我建议你自己创建一个 Ubuntu 虚拟机并编译你自己的 mergevec.exe。完成后,您可以将 vec 文件复制到虚拟机中,然后在 Ubuntu 下合并它们。之后,您可以根据需要将合并的 vec 文件带回 Windows(最好不要在 VM 下运行训练:计算能力较低)。

这是我所做的:

  • 在 Ubuntu 14.0.4 下安装 VMware 播放器(虽然我不推荐,但还是有一些 bug)
  • 从带有 TBB 的源安装 OpenCV。有很多教程,但唯一对我有用的是OPenCV website,它们对您强制需要的库更准确。
  • 我下载了 GitHub classifier training,然后按照给出的命令进行操作,效果很好。

如果您遇到任何库问题或 OpenCV 安装问题,请不要犹豫,我也经历过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2015-09-15
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多