Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation 在windows 7-'下编译opencv 3 mingw64;位_Compilation_64 Bit_Mingw W64 - Fatal编程技术网

Compilation 在windows 7-'下编译opencv 3 mingw64;位

Compilation 在windows 7-'下编译opencv 3 mingw64;位,compilation,64-bit,mingw-w64,Compilation,64 Bit,Mingw W64,有人能告诉我用Mingw64编译Opencv 3.0以在Java中使用的过程吗 你能告诉我opencv 64位编译器兼容的版本吗?因为我已经尝试了很多版本,但都不起作用 例如,TDM gcc 64位只是在某个时候崩溃。OpenCV是一个开源的多平台项目,由开发人员(而非最终用户)和计算机视觉科学家开发并为其服务。尽管默认情况下包含一些预编译的二进制文件(对于Java也是如此),但如果您在使用它们时遇到问题,您应该在特定的操作系统和硬件中使用所需的模块自行构建opencv 这就是我刚才在Windo

有人能告诉我用Mingw64编译Opencv 3.0以在Java中使用的过程吗

你能告诉我opencv 64位编译器兼容的版本吗?因为我已经尝试了很多版本,但都不起作用


例如,TDM gcc 64位只是在某个时候崩溃。

OpenCV是一个开源的多平台项目,由开发人员(而非最终用户)和计算机视觉科学家开发并为其服务。尽管默认情况下包含一些预编译的二进制文件(对于Java也是如此),但如果您在使用它们时遇到问题,您应该在特定的操作系统和硬件中使用所需的模块自行构建opencv

这就是我刚才在Windows机器上用MinGW编译OpenCV 3.2的方式(因为我不想安装visual studio)。如果您在不支持Java的情况下进行构建,这些说明也可以使用

  • (可选)为了以防万一,请删除任何旧的OpenCV安装。如果您遇到重大问题,请删除以前的MinGW、Ant、JDK和CMake安装,并确保您的Windows系统路径不指向它们。。。你可能想从头开始
  • 下载并安装(最新版本)。我喜欢在“C:\MinGW”中安装它。最好确保系统中没有其他MinGW安装,这样就不会有冲突
  • 下载并安装(最新版本,在我的例子中是beta 3.9.0)
  • 将mingw的bin路径添加到Windows系统路径;以防万一,这里有一个(在我的例子中,我添加了C:\MinGW\bin)。
    • (如果您需要Java,否则可以跳过)如果您还没有,请下载并安装and(我喜欢在安装JDK后重新启动)。确保JAVA_HOME Windows系统变量设置在正确的位置,并且Windows系统路径包括到JDK的“bin”目录的路由
  • 重新启动Windows,使其识别路径更改
  • 从github项目页面()下载完整的opencv源代码。这是最新的公开版本。如果你不知道如何使用Git,这里有一个“克隆或下载”按钮
  • 将opencv的源代码提取到容易找到的地方(我喜欢在C:\opencv中执行此操作,以便opencv根文件夹中的README.md文件显示在C:\opencv\README.md中)
  • 打开CmakeGUI(这里有一个关于它的基本用法的示例)
  • 设置源代码(在我的例子中是C:/opencv)和二进制文件构建路径(我喜欢在C:/opencv/build中进行)
  • 配置。由于我们使用MinGW执行此操作,请选择“MinGW Makefiles”和“使用默认本机编译器”(如果您已经安装了其他MinGW版本,则可能需要检查系统路径以避免冲突,或者选择“指定本机编译器”并手动设置路由)
  • 很多红色的东西,第一次传球时很正常。对于CMake beta 3.9.0,我不得不取消选中ENABLE_PRECOMPILED_Header以避免一些奇怪的错误,但这在将来可能会改变。我喜欢取消选中BUILD_TESTS和BUILD_PERF_TESTS以加快编译速度,但这取决于您的需要。
    • (如果您需要Java)自从安装Ant以来,CMake应该自动检测变量Ant_可执行文件,否则,请修复此问题(可能手动设置te path)。还要检查出现的新BUILD_FAT_JAVA_LIB,它确保创建了JAVA包装器
    • (如果您需要Java)应该已经出现了一组前缀为“Java_”的变量;检查它们并在需要时手动设置。这里有一个(不那么优雅)的例子,你可以用来指导自己(确保使用你的路径):
  • 单击“配置”按钮,直到不再显示红色。然后单击生成。如果一切顺利,最后应该说“cvconfig.h在:C:/opencv/build中,配置完成,生成完成”。现在我们终于可以建造了
  • 打开你的控制台(cmd;上面有一个图标)
  • 导航到build目录(C:/opencv/build)并执行命令mingw32 make-j4,其中“-j4”是并行线程的数量,我建议尽可能多的CPU内核数量以获得最高速度
  • 等等。很多它应该在100%后完成
  • 现在执行mingw32 make install
  • 我们结束了。在类似于C:\opencv\build\install\x86\mingw\bin的路径中查找新的二进制文件,您可能希望将其添加到Windows系统路径中
  • 现在,您应该测试您构建的内容是否实际有效。打开您首选的IDE,尝试运行一个简单的opencv helloworld项目,该项目显示一个简单的Mat,类似于下面的C/C++代码:

    #include "opencv2/core/core.hpp"
    #include "opencv2/highgui/highgui.hpp"
    using namespace cv;
    
    int main(int argc, char *argv[]) {
        Mat img = Mat::ones(256, 256, CV_8U) * 200;
        imshow("Gray image", img);
        waitKey(0);
        return 0;
    }
    
    (在构建项目之前,请记住在IDE中设置opencv include和libs,在我的例子中是“C:\opencv\build\install\include”,在“C:\opencv\build\install\x86\mingw\lib”中设置所需的lib文件)


    如果屏幕上出现了什么,恭喜

    OpenCV是一个开源的多平台项目,由开发人员(非最终用户)和计算机视觉科学家开发。尽管默认情况下包含一些预编译的二进制文件(对于Java也是如此),但如果您在使用它们时遇到问题,您应该在特定的操作系统和硬件中使用所需的模块自行构建opencv

    这就是我刚才在Windows机器上用MinGW编译OpenCV 3.2的方式(因为我不想安装visual studio)。如果您在不支持Java的情况下进行构建,这些说明也可以使用

  • (可选)为了以防万一,请删除任何旧的OpenCV安装。如果您遇到重大问题,请删除以前的MinGW、Ant、JDK和CMake安装,并确保您的Windows系统路径不指向它们。。。你可能想从头开始
  • 下载并安装(最新版本)。我喜欢在“C:\MinGW”中安装它。最好确保系统中没有其他MinGW安装,这样就不会有冲突
  • 下载并安装(最新版本,在我的例子中是beta 3.9)。