利用 MSYS2 在 Windows10 上搭建 OpenCV 开发环境
程序员文章站
2022-07-07 23:18:14
在 Windows 上进行 OpenCV 开发,很多人都是在 Visual Studio 上进行。然而在 VS 上的配置过程实在是个坑。但是其实 OpenCV 开发环境的搭建无非就是让自己写的 cpp 在编译时能成功链接上。而这一过程其实可以轻松完成。下面我就介绍一下我在自己的 Win10 上如何借 ......
在 Windows 上进行 OpenCV 开发,很多人都是在 Visual Studio 上进行。然而在 VS 上的配置过程实在是个坑。但是其实 OpenCV 开发环境的搭建无非就是让自己写的 cpp 在编译时能成功链接上。而这一过程其实可以轻松完成。下面我就介绍一下我在自己的 Win10 上如何借助 MSYS2 完成这一任务。
- 安装 MSYS2 :官网(http://www.msys2.org/)有详细指导。
- 安装 gcc 编译器及相关工具 :mingw-w64-x86_64-toolchain(64位机器)或 mingw-w64-i686-toolchain(32位机器)。另外 pkg-config 也要安装(可能已自动安装了)。
- 安装 OpenCV : $ pacman -S mingw-w64-x86_64-opencv
- 验证是否安装成功: $ pkg-config --cflags opencv (需在 Mingw64 终端运行: Mingw64 终端运行 mingw64 下的程序,相应的,Mingw32 终端运行 mingw32 下的程序)。应该输出: -IC:/msys64/mingw64/include/opencv -IC:/msys64/mingw64/include
5. 实例程序测试:displayImage.cpp
1 #include <iostream> 2 #include <string> 3 #include <opencv2/opencv.hpp> 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 文件即可运行)。
上一篇: 我在黑马程序员培训的第二十一天