(亲测可行)windows安装msys2配置c++opencv
文章目录
- 🌕下载
- 🌕安装
- 🌕配置清华源
- 🌕安装依赖
- 🌕报错及解决方法
- 🌕验证是否安装成功
- 🌕通过编译c++代码测试是否安装成功
- 🌙编译它
- 🌙运行编译后的代码文件
🌕下载
https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/
选择中间的.exe版下载
🌕安装
打开安装包,选择合适的位置安装,然后下一步即可,如果卡到百分之50,则取消安装,重启电脑,断开网络再次安装
🌕配置清华源
安装好之后打开它,然后配置清华源
sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
🌕安装依赖
pacman -Syu
一路选择y,然后它会自动关闭。重新打开msys2
pacman -Su
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
剩下的查看这篇博客即可:
Windows下使用Msys2(MinGW环境)直接安装预编译的OpenCV
🌕报错及解决方法
显示无法解析该文件所在的host:reop.msys2.org 这个网站。通过科学上网可以解决。
🌕验证是否安装成功
搜索mingw64
打开它输入:
pkg-config --cflags opencv
pkg-config --cflags opencv4
装的是目前最新版的4.10.0 opencv,应该能找到opencv4就算成功。
🌕通过编译c++代码测试是否安装成功
创建一个test.cpp文件,内容如下:
#include <opencv2/opencv.hpp> // 包含OpenCV的所有头文件
#include <iostream> int main(int argc, char** argv)
{ // 图片路径(已硬编码) std::string imagePath = "1.png"; // 假设1.png与可执行文件在同一目录下 // 读取图片 cv::Mat image = cv::imread(imagePath, cv::IMREAD_COLOR); // 读取彩色图片 // 检查图片是否成功加载 if (image.empty()) // 如果图片为空 { std::cout << "Could not open or find the image: " << imagePath << "!" << std::endl; return -1; } // 获取图片的原始尺寸 int originalHeight = image.rows; int originalWidth = image.cols; // 设置新的高度 int newHeight = 640; // 计算新的宽度,保持宽高比 int newWidth = static_cast<int>(static_cast<double>(originalWidth) / originalHeight * newHeight); // 调整图片大小 cv::Mat resizedImage; cv::resize(image, resizedImage, cv::Size(newWidth, newHeight)); // 创建一个窗口来显示图片,并设置窗口大小 cv::namedWindow("Display window", cv::WINDOW_NORMAL); // 使用WINDOW_NORMAL允许窗口大小调整 // 显示调整大小后的图片 cv::imshow("Display window", resizedImage); // 在窗口中显示图片 // 等待按键按下,直到按下'Esc'键(ASCII码为27) while (true) { int key = cv::waitKey(100); // 等待100毫秒,检查是否有按键按下 if (key == 27) // 如果按下'Esc'键 { break; // 跳出循环,关闭窗口并结束程序 } } // 注意:cv::waitKey(0)在这里不再需要,因为我们已经在循环中处理了按键事件 return 0;
}
在相同目录下放一张图片,命名为1.png
🌙编译它
在打开的mingw64界面中,进入test.cpp所在的目录,输入:
g++ test.cpp -o test_opencv `pkg-config --cflags --libs opencv4`
没报错,说明编译成功。
🌙运行编译后的代码文件
报错,显示没有Qt6Gui.dll
输入命令安装它:
pacman -S mingw-w64-x86_64-qt6
安装成功之后,重新编译c++测试文件:
g++ test.cpp -o test_opencv `pkg-config --cflags --libs opencv4`
./test_opencv.exe
成功!!!