OpenCV4环境配置

0.安装mingw64

官网链接:mingw

  1. 安装红框标记下载免安装版本,解压可用。
    image-20230809214627758
  2. 将解压后的mingw64\bin添加到path环境变量
  3. cmd中输入gcc -v,出现下图所示即配置成功

image-20230809214807503

1.下载OpenCV源码

源码下载

官网:Releases - OpenCV

image-20230808164909641

运行下载好的exe文件,指定一下源码的存放路径

下载好的源码如下图所示

image-20230808165216872

扩展文件下载

下载官网:Tags · opencv/opencv_contrib (github.com)

下载后解压放到OpenCV路径下

image-20230809230948205

2.安装CMAKE

已经编译好的OpenCV源码:https://pan.baidu.com/s/1NF5PElfjJT49pnpqgQy3zg?pwd=ksz0

如果使用我编译好的,直接跳到4.5,去配置环境变量,然后进入clion进行测试

使用的是mingw-build文件夹,可以删除除VS-build文件夹

VS-build文件夹是使用VS进行build的,那个如果不使用可以删掉(VS-build),vsbuild的文件有十几个G

官网:Download | CMake

image-20230808170430046

运行安装文件,中间需要勾选添加环境变量

image-20230808170627223

更改安装路径

image-20230808170701742

3.ckame编译OpenCV

  1. 在OpenCV源码路径下新建一个 mingw-build文件夹
  2. 将build/bin目录下opencv_videoio_ffmpeg470_64.dll文件拷贝至sources/3rdparty/ffmpeg目录下
  3. 打卡cmake,如下图所示,选择文件路径

image-20230808171506788

  1. 点击configure,在弹出的窗口中选择Mingw Makefile,编译器默认的就行

image-20230808223910146

  1. 当第一次编译完后,出现红色背景的内容,勾选下图所示内容,然后继续点击configure

image-20230809211613677

image-20230808231857217

image-20230809231055252

  1. 多次点击configure,直到没有红色出现

中间可能在下载时会报错

FFMPEG: Download failed: 28;“Timeout was reached”

解决方式:

  1. 将下载链接复制下来,输入到浏览器中进行下载

  2. 打开opencv的source文件夹下的.cache文件夹中

  3. 复制没下载成功的文件的名,将在网页下载成功的文件重命名为刚才复制对的名

  4. 将重命名后的文件放到.cache文件夹下的各个文件夹中,将原始文件进行替换【确实文件放置位置的方法:下载链接中有对应的文件夹名】

  5. 重新点击configure

image-20230808235948300

  1. 点击generator

image-20230809000016173

4.安装编译文件

  1. 进入mingw-build文件夹
  2. 在路径上输入cmd,然后回车(建议直接以管理员身份运行,普通方式运行可能会出现一些报错)

image-20230809000210918

image-20230809000229036

  1. 输入mingw32-make -j 16

报错解决:

  1. 如果出现 error: 'recursive_mutex' in namespace 'std' does not name a type,则重新下载posix版的mingw64 ,然后再在cmake中重新编译OpenCV源码
  2. 如果出现 undefined reference to _Unwind_Resume'之类的,以管理员身份运行cmd,重新编译

image-20230809213424554

  1. 出现之类Anaconda3-/hdf5的报错,不使用Anaconda3的Python环境更换其他Python环境或者直接不使用Python环境(直接在path环境变中先删除Anaconda的Python配置,更换为其他的Python或者不配置Python),重新用cmake进行编译,然后再在cmd运行

image-20230810110217317

image-20230809213446910

  1. 输入mingw32-make install

image-20230809213644437

  1. 添加环境变量,将mingw-build\bin目录添加到系统环境变量

image-20230809221112296

5.Clion配置使用

  1. 新建一个项目
  2. 将下面的内容复制到CMakeLists.txt
set(OpenCV_DIR E:/kaifa/C/opencv/mingw-build/install) #这里刚才编译的OpenCV的路径
find_package(OpenCV REQUIRED)
target_link_libraries(OpenCVtest ${OpenCV_LIBS}) #OpenCVtest是你的项目名称

image-20230809215512469

  1. 运行main.cpp文件
#include "iostream"
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
    
    

    Mat img = imread("E:/C-Project/OpenCVtest/1.jpg");
    cout << img.type() << endl;
    if (img.empty()) {
    
    
        cout << "Error" << endl;
        return -1;
    }
    imshow("Lena", img);
    waitKey();
    return 0;

}
  1. 弹出图片则表示环境配置成功

猜你喜欢

转载自blog.csdn.net/qq_61228493/article/details/132396659