news 2026/7/27 5:49:43

OpenCV在vs studio中的配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenCV在vs studio中的配置

博主只是初入此行的蒻蒟,这篇文章内容不一定正确(一些限定名词也不一定说的对),但一定解决了博主在初学时的问题,后续有变动还会继续更新,希望能帮到大家

目录

第一种方式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; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/27 5:47:39

Godot工程化实践:从路径错误到健壮项目架构

1. 项目概述&#xff1a;从“GodotProjectDir is null”到工程化实践如果你在用Godot开发游戏&#xff0c;尤其是项目稍微复杂一点&#xff0c;或者尝试用Git进行版本管理时&#xff0c;很可能在编辑器控制台里见过这个让人心头一紧的红色错误&#xff1a;“GodotProjectDir is…

作者头像 李华
网站建设 2026/7/27 5:45:54

C++ set::emplace函数深度解析:原理、性能与应用场景

1. 项目概述&#xff1a;为什么我们需要关注emplace&#xff1f;在C的日常开发中&#xff0c;std::set作为标准库中基于红黑树实现的有序关联容器&#xff0c;是我们处理需要自动排序且元素唯一的集合时的首选。从C98/03时代走过来的开发者&#xff0c;对insert函数一定不陌生。…

作者头像 李华
网站建设 2026/7/27 5:40:14

USB OTG硬件设计实战:从引脚复用冲突到VBUS电源与ESD防护

1. 项目概述&#xff1a;从芯片手册到真实电路&#xff0c;一个硬件工程师的USB OTG设计实战如果你是一名嵌入式硬件工程师&#xff0c;正在为一块基于OMAP5912这类老牌处理器的板卡设计USB OTG功能&#xff0c;那么你很可能已经翻烂了那份名为“SPRU761A”的技术参考手册。手册…

作者头像 李华
网站建设 2026/7/27 5:39:31

昇腾MindSpore实战:从环境搭建到工业部署全解析

1. 昇腾MindSpore实战全景图第一次接触昇腾芯片和MindSpore框架时&#xff0c;我被官方文档里"异构计算""图算融合"这些术语弄得一头雾水。直到在图像质检项目里真正用Atlas 300I加速卡跑通第一个ResNet模型&#xff0c;才理解这套技术栈的独特价值。现在回…

作者头像 李华
网站建设 2026/7/27 5:39:18

大模型推理中的KV Cache Offloading技术解析

1. KV Cache Offloading 技术背景与核心问题在大模型推理场景中&#xff0c;KV Cache&#xff08;键值缓存&#xff09;的显存占用问题日益突出。当处理长上下文序列&#xff08;如8k、16k甚至更长&#xff09;时&#xff0c;KV Cache的显存消耗往往会超过模型权重本身。以典型…

作者头像 李华
网站建设 2026/7/27 5:35:34

AI技术在网站内容质量管理中的应用与实践

1. 网站内容质量管理的挑战与AI解决方案在当今数字化时代&#xff0c;网站已成为企业与用户沟通的主要渠道。然而&#xff0c;随着内容量的爆炸式增长和更新频率的加快&#xff0c;网站内容质量管理面临着前所未有的挑战。我曾在多个电商平台项目中亲眼见证过&#xff0c;一个简…

作者头像 李华