opencv_core245.dll 和 opencv_ml245.dll 缺失

opencv_core245.dll 和 opencv_ml245.dll 缺失

我正在尝试安装一些与我的工作相关的重要软件(在 Windows 10 上),但是当我尝试运行它时会弹出一个错误,提示缺少 opencv_core245.dll 和 opencv_ml245.dll。

我尝试过用谷歌搜索,但得到的结果只有可疑的网站和一些病毒。

我该如何修复此问题?

编辑:我尝试运行的软件是 TITARL 应用程序 这里

答案1

弹出一个错误提示opencv_core245.dll,提示opencv_ml245.dll缺少什么。

这些与OpenCV(开源计算机视觉)库。您可能希望先尝试安装它。

安装说明

  • Windows 版 OpenCV 提取器(当前打包为.exe)运行时会提示提取路径。系统opencv会自动在该位置创建一个文件夹。

  • 从广义上讲,您选择将这些文件提取到哪里并不重要。但是,您的程序可能对丢失的 .dll 的位置有特定要求(您需要验证)。

  • 有些程序可能需要在其设置中定义库的路径,而其他程序可能需要您手动放置文件,例如在其程序文件夹(或其他位置)中。您需要通过程序文档或进一步研究来确认哪些选项适用。

  • OpenCV 带有许多builds。您应该将所选库 .dll 的“位数”与程序的“位数”(即 32 位或 64 位)进行匹配。

泰塔尔

对于 TITARL,缺少的 .dll 需要放在与以下文件相同的文件夹中TITARL.exe

OpenCV DLL 放置 - 屏幕截图

opencv_core245.dllopencv_ml245.dll

不幸的是,OpenCV 2.4.5(和这些 .dll)似乎不再以预编译二进制文件的形式提供。不过,OpenCV 2.4.5 库仍然可以作为源代码来自官方 GitHub 存储库。需要从此源代码编译缺失的 .dll,程序才能运行。

如果你信任互联网上的陌生人,我有编译这两个 .dll 的 64 位版本为您服务。它们似乎可以example_learning.bat与 TITARL 提供的正确配合使用。但是,它们尚未经过任何彻底的测试。

注意事项

  • 这些 .dll 是在 Windows 7 上使用 Visual Studio 14 (2015) 构建的,不支持 Python。

  • 构建选项中包含对 FFmpeg 和 DirectShow 的支持,但尚未以任何方式直接测试。

  • opencv_core245.dll除和之外,没有构建其他 .dll opencv_ml245.dll

如果您决定尝试这些并遇到麻烦(例如无法解释的行为或其他问题),您可能只需要自己编译它们。我在下面概述了我采取的步骤。


Visual Studio 的微型编译指南

根据本通用指南使用 Visual Studio 编译 OpenCV 3,您在评论中提到过,通过构建必要的缺失 .dll,以下步骤应该允许您至少获得 TITARL 的最低限度功能的安装。

准备

  1. 下载并安装Microsoft Visual Studio 社区版(免费)。他们有旧版本以及,具体取决于您的需求。请注意,旧版本目前需要免费开发要点帐户访问。

  2. 下载并安装CMake. CMake 是一个可使编译变得更容易的实用程序,并且 OpenCV 2.4.5 具有使用它所需的文件。

  3. 下载并解压前面链接的源代码(如果你还没有这样做的话)。源代码解压到哪里由你自己决定。

  4. 假设已安装 CMake,打开 GUI 界面(例如从桌面上的图标)。

  5. 在主窗口顶部的第一个字段中输入源代码的路径。在下面的第二个字段中,添加要存储与编译相关的文件的路径(第二个路径的位置由您选择)。在这些步骤中,我将使用一个名为的文件夹build,该文件夹与源代码位于同一目录中:

    CMake/OpenCV 构建目录 - 屏幕截图

  6. 输入这些路径后,按配置主窗口底部附近。应出现一个新对话框。

  7. 在此对话框中,为您的 .dll 选择正确的“生成器”。对于 Visual Studio,这将是版本名称,后面跟着任何内容(构建 32 位二进制文​​件)或Win64(构建 64 位二进制文​​件)。TITARL 是一个 64 位程序(TITARL 1.7 [Win x64 - Public release]),因此您需要选择例如Visual Studio 14 2015 Win64Visual Studio 15 2017 Win64来构建适当的 64 位 .dll:

    CMake 生成器 - Visual Studio 14 2015 Win64 - 屏幕截图 CMake 生成器 - Visual Studio 15 2017 Win64 - 屏幕截图

  8. 结束关闭对话框。CMake 将自动开始处理 OpenCV 2.4.5 源代码。在主窗口中,配置按钮将变为停止按钮和正在生成...打开项目...(Open Project...)旁边的按钮将变灰。请注意,此初始处理可能需要几分钟。

  9. 一旦完成此处理,主 CMake 窗口的上部窗格将显示大量红色信息(这些是新检测到的选项)。下部窗格应显示“配置完成”:

    CMake 初始处理完成

  10. 找到标记的构建选项BUILD_opencv_*(其中*是名称,例如apps)。它们应该都在一个块中。取消选中每个项目旁边的复选框,不包括BUILD_opencv_coreBUILD_opencv_ml。按配置再次处理完成后,按产生...完成后,主 CMake 窗口应如下所示:

    CMake - 准备使用 Visual Studio 编辑解决方案 - 屏幕截图

修复 OpenCV 2.4.5

通常,此时一切都已准备就绪,可以编译缺少的 .dll。但是,OpenCV 2.4.5 在 Visual Studio 12+ 中存在一个普遍问题,即会产生大量"max" : is not a member of "std"错误,从而阻止创建必要的 .dll。

值得庆幸的是,正如对此的回答中详细说明的那样StackOverflow 问题,只需对原始源代码进行一些微小的修改即可实现编译。

要修复此问题:

  1. 找到OpenCV.sln之前由 CMake 生成的解决方案(例如 在 下C:\path\to\opencv-2.4.5\build)。

  2. 双击该文件以在 Visual Studio 中打开它。由于这可能是您第一次打开此解决方案,Visual Studio 可能需要一两分钟才能完全解析它。观察主 Visual Studio 窗口底部的蓝色活动栏,等到它显示“就绪”后再继续。

  3. 一旦 Visual Studio 稳定下来,按Ctrl+H打开查找和替换对话框,然后执行以下操作:

    • 输入。Find what:#include \<string\>
    • 输入。Replace with:#include <algorithm>\n#include <string>
    • 设置Look inEntire Solution(根据需要)。
    • 在 下Find options,确保Use Regular Expressions已被标记。
    • 全部替换等结束了。

      Visual Studio 解决方案替换对话框 - 屏幕截图

编译

完成上述所有步骤后,您就可以使用 CMake 进行编译了。在您的build目录中打开命令窗口(例如C:\path\to\opencv-2.4.5\build)并输入:

C:\path\to\cmake.exe --build . --config Release --target INSTALL

经过短暂的时间(不到 15 分钟),编译应该完成,缺失的 .dll 应该可以在目录(例如)install\bin的文件夹下找到。如前所述,此文件夹中的 .dll 需要与 放在同一个文件夹中。buildC:\path\to\opencv-2.4.5\build\install\binTITARL.exe


一般注意事项

  • 按照上述步骤,除了使用 Visual Studio 进行必要的代码更正外,我没有遇到任何重大错误。不过,我并没有尝试构建整个库。

  • 这里介绍的步骤并非与指南链接中给出的步骤完全一致。您可能希望参考这些链接以了解更多详细信息。

Visual Studio 注释

  • Visual Studio 可能是一个大型安装,并且可能需要单独配置。因此,准备步骤 1 可能比您想象的花费更长的时间。

  • 如果您打算修改 OpenCV 中的 Python 支持,则可能需要设置 Visual Studio 及其Python Tools for Visual Studio对 的支持Visual C++

  • 编译期间的黄色警告消息通常可以安全地忽略。另一方面,红色错误消息表示会导致构建失败的问题(即不会生成 .dll)。但是,这些与下面 CMake 生成的潜在“安全”红色错误不同。

CMake 说明

  • CMake在其 GUI 界面中/不使用\Windows 路径。也就是说,粘贴的路径应该会自动\切换/

  • 如果您不想cmake.exe在最后的编译步骤中输入完整路径,请选择在安装期间将 CMake 添加到您的 PATH 中的选项。

  • 在 CMake 中构建支持 Python 的 .dll 的选项需要这里未列出的步骤。

  • 如果您选择了错误的生成器,准备步骤 7 可能会导致构建错误的二进制文件(即 32 位 .dll 无法与 64 位程序配合使用)。Use default native compilers不过,保留单选按钮选项应该没问题。

  • 如果您在使用 CMake 等时犯了任何错误,只需删除您的build文件夹并从准备步骤 4 重新开始。

  • 在 CMake 中,按照给出的步骤,界面中的红色“错误”似乎不会引起任何严重问题。话虽如此,通常还是有必要记录您遇到的任何错误或警告。

  • 如果存在任何严重问题,配置将无法完成并且会写入错误日志。

相关内容