博主只是初入此行的蒻蒟,这篇文章内容不一定正确(一些限定名词也不一定说的对),但一定解决了博主在初学时的问题,后续有变动还会继续更新,希望能帮到大家
目录
第一种方式CMake配置(推荐)
1.1--指定OpenCV的CMake配置文件路径
1.2--查找并加载OpenCV
1.3--添加OpenCV头文件路径
1.4--链接OpenCV库
第二种方式控制台应用配置(不推荐)
1.1--创建一个控制台应用
1.2--如图
1.3--添加外部库的头文件地址编辑
1.4--添加外部库的库文件地址
1.5--添加依赖库地址
1.6--配置环境
2--测试/编译运行
大家
第一种方式CMake配置(推荐)
1.1--指定OpenCV的CMake配置文件路径
set(OpenCV_DIR "D:/Tools/opencv/build/x64/vc16/lib")--是为了找到OpenCVConfig.cmake文件
1.2--查找并加载OpenCV
find_package(OpenCV REQUIRED)1.3--添加OpenCV头文件路径
target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS} # ← OpenCV头文件路径 )--在 target_include_directories 中添加 ${OpenCV_INCLUDE_DIRS}
1.4--链接OpenCV库
target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBS} # ← OpenCV库文件 )--在 target_link_libraries 中添加 ${OpenCV_LIBS}
第二种方式控制台应用配置(不推荐)
博主并没有使用过此方式
1.1--创建一个控制台应用
1.2--如图
1.3--添加外部库的头文件地址![]()
1.4--添加外部库的库文件地址
1.5--添加依赖库地址
此处 Debug 需在版本号后补d,即opencv_world4120d.lib
release 如图即可
1.6--配置环境
需与环境变量相同
2--测试/编译运行
#include <opencv2/opencv.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp> #include <iostream> using namespace cv; using namespace std; int main() { // 1. 打印OpenCV版本信息 cout << "OpenCV version: " << CV_VERSION << endl; cout << "OpenCV major version: " << CV_MAJOR_VERSION << endl; cout << "OpenCV minor version: " << CV_MINOR_VERSION << endl; cout << "OpenCV revision: " << CV_REVISION << endl; // 2. 创建一个空白图像 (黑色) Mat image = Mat::zeros(400, 600, CV_8UC3); // 3. 在图像上绘制图形 // 绘制矩形 (蓝色) rectangle(image, Point(50, 50), Point(250, 150), Scalar(255, 0, 0), 2); // 绘制圆形 (绿色) circle(image, Point(350, 100), 50, Scalar(0, 255, 0), -1); // 绘制文字 (红色) putText(image, "OpenCV Test", Point(200, 300), FONT_HERSHEY_SIMPLEX, 1.0, Scalar(0, 0, 255), 2); // 绘制线条 (黄色) line(image, Point(50, 350), Point(550, 350), Scalar(0, 255, 255), 3); // 4. 显示图像 namedWindow("OpenCV Test Window", WINDOW_AUTOSIZE); imshow("OpenCV Test Window", image); // 5. 保存图像到文件 bool success = imwrite("test_output.jpg", image); if (success) { cout << "Image saved successfully as 'test_output.jpg'" << endl; } else { cout << "Failed to save image" << endl; } // 6. 等待用户按键 cout << "Press any key to exit..." << endl; waitKey(0); // 7. 销毁所有窗口 destroyAllWindows(); return 0; }