利用 MSYS2 在 Windows10 上搭建 OpenCV 开发环境

  在 Windows 上进行 OpenCV 开发,很多人都是在 Visual Studio 上进行。然而在 VS 上的配置过程实在是个坑。但是其实 OpenCV 开发环境的搭建无非就是让自己写的 cpp 在编译时能成功链接上。而这一过程其实可以轻松完成。下面我就介绍一下我在自己的 Win10 上如何借助 MSYS2 完成这一任务。

  1. 安装 MSYS2 :官网(http://www.msys2.org/)有详细指导。
  2. 安装 gcc 编译器及相关工具 :mingw-w64-x86_64-toolchain(64位机器)或 mingw-w64-i686-toolchain(32位机器)。另外 pkg-config 也要安装(可能已自动安装了)。
  3. 安装 OpenCV :  $ pacman -S mingw-w64-x86_64-opencv 
  4. 验证是否安装成功: $ pkg-config --cflags opencv (需在 Mingw64 终端运行: Mingw64 终端运行 mingw64 下的程序,相应的,Mingw32 终端运行 mingw32 下的程序)。应该输出: -IC:/msys64/mingw64/include/opencv -IC:/msys64/mingw64/include

  5. 实例程序测试:displayImage.cpp

 1 #include 
 2 #include <string>
 3 #include 
 4 
 5 int main(int argc, char const *argv[]) {
 6 
 7   std::string imageName("lena.jpg");
 8   if(argc > 1)
 9   {
10     imageName = argv[1];
11   }
12 
13   cv::Mat image;
14   image = cv::imread(imageName, cv::IMREAD_COLOR);
15   if(image.empty())
16   {
17     std::cout << "Could not open or find the image file" << '\n';
18     return -1;
19   }
20 
21   cv::namedWindow( imageName, cv::WINDOW_AUTOSIZE );
22 
23   cv::imshow( imageName, image );
24 
25   cv::waitKey(0);
26 
27   return 0;
28 }

  Makefile

# Link to OpenCV library
# It can be got from pkg-config, with
# 	-libs opencv
# command options.
lib_opencv_d = `pkg-config --libs opencv` # 动态链接

lib_opencv_a = `pkg-config --libs --static opencv` # 静态链接

displayImage: displayImage.o
	g++ displayImage.o $(lib_opencv_d) -o displayImage.exe

displayImage.o: displayImage.cpp
	g++ -Wall -c -o displayImage.o displayImage.cpp

clean:
	rm *.o *.exe

运行 make 应该成功编译,运行程序可看到 “lena” 图片。

  提示一下,把 Mingw64 下的 bin 目录添加进 PATH 环境变量便可在 Mingw64 终端外运行你的 OpenCV 程序了(比如直接双击  .exe 文件即可运行)。

转载于:https://www.cnblogs.com/qijianZhang/p/8685036.html

你可能感兴趣的:(利用 MSYS2 在 Windows10 上搭建 OpenCV 开发环境)