准备工具
- Visual Studio,我使用的版本是2022,你可以选择合适的版本。如果需要下载,点击这里 。下载完成VS后,记得下载C++开发工具,具体配置C++环境,可参考这里。
- OpenCV, 选择和你的VS适配的版本,如果你跟我一样是VS 17 2022, 那么选择下载4.9.0就可以了。可以在这里下载。
- 说明:安装包解压后是两个文件夹(build && sources), 我的存储路径为:
D:\myApp\OpenCV\opencv
配置系统环境
右键点击此电脑 -> 属性 -> 高级系统设置 -> 环境变量 ->系统变量 -> Path,键入以下内容:
D:\myApp\OpenCV\opencv\build\bin
D:\myApp\OpenCV\opencv\build\x64\vc16\bin
第一行是opencv build的bin位置,第二行是opencv vc版本的bin位置。
配置项目环境
-
打开Visual Studio, 新建一个C++空项目。必须要创建有.cpp文件后面才会在属性页面出现vc++的选项。
-
视图 -> 其他窗口 -> 属性管理器
选择对应的Debug/Release模式.,右键选择属性,进入的页面是这样的:
-
通用属性 -> VC++目录 -> 包含目录,新建以下内容:
D:\myApp\OpenCV\opencv\build\include D:\myApp\OpenCV\opencv\build\include\opencv2
第一行是include头文件的位置,第二行是opencv2头文件的位置。
-
通用属性 -> VC++目录 -> 库目录,新建以下内容:
D:\myApp\OpenCV\opencv\build\x64\vc16\lib
这是静态链接库lib的位置.
-
通用属性 -> 链接器 -> 输入 ->附加依赖项,新建以下内容:
D:\myApp\OpenCV\opencv\build\x64\vc16\lib\opencv_world490d.lib
这是opencv4.9.0debug模式的静态链接库的位置。如果你是release模式,那么应该是:
D:\myApp\OpenCV\opencv\build\x64\vc16\lib\opencv_world490.lib
也就是少了一个d的区别。
opencv版本不同,对应的静态链接库的名称也是不一样的。举个例子,如果是3.9.6版本,那么名称应该是opencv_world396.lib/ opencv_world396d.lib
配置成功
随便写一个图像输入输出的代码来测试一下配置情况吧。
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
// 加载图像
Mat img = imread("./data/blue.png");
if (img.empty()) {
std::cout << "Image load failed!" << std::endl;
return -1;
}
// 遍历图像中的每个像素
for (int i = 0; i < img.rows; ++i) {
for (int j = img.cols/2; j < img.cols; ++j) {
img.at<Vec3b>(i, j) = Vec3b(0, 0, 255);
}
}
// 显示结果
imshow("Result", img);
waitKey(0);
// 保存修改后的图像
imwrite("./data/blue_red.png", img);
return 0;
}
blue.png图像
执行代码后保存的blue_red.png结果:
参考
https://blog.csdn.net/mars_xiaolei/article/details/78759041