news 2026/6/10 15:44:28

HoRain云--OpenCV 安装(C++)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--OpenCV 安装(C++)

🎬 HoRain 云小助手:个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

下载 OpenCV

Windows 安装 OpenCV

配置 Visual Studio

源码编译安装

安装前的准备

下载 OpenCV 源码

使用 CMake 配置 OpenCV

4、配置环境变量(可选)

在 C++ 项目中使用 OpenCV

1、创建 C++ 项目

实例

2、编译和运行

3、运行

常见问题及解决方案

1、找不到 OpenCV 库

2、图片无法加载

3、窗口无法显示


OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,包含了数百个计算机视觉算法,广泛应用于图像处理、视频分析、物体检测、人脸识别等领域。

C++ 是 OpenCV 的原始开发语言,适合高性能应用。

在 C++ 项目中使用 OpenCV 之前,首先需要安装 OpenCV 库。

下载 OpenCV

访问 OpenCV 的官方下载页面:https://opencv.org/releases/。

选择适合你操作系统的版本(例如 Windows、Linux、macOS)并下载,例如OpenCV 4.x 的 Windows 预编译包。 。

Windows 安装 OpenCV

配置 Visual Studio

1、打开 Visual Studio,创建一个 C++ 项目。

2、配置包含目录

右键项目 -> "属性" -> "VC++目录" -> "包含目录",添加:

C:\opencv\build\include

3、配置库目录

右键项目 -> "属性" -> "VC++目录" -> "库目录",添加:

C:\opencv\build\x64\vc15\lib

4、配置链接器

右键项目 -> "属性" -> "链接器" -> "输入" -> "附加依赖项",添加:

opencv_world4xx.lib

4xx是 OpenCV 版本号,例如opencv_world450.lib


源码编译安装

安装前的准备

在安装 OpenCV 之前,确保你的系统已经安装了以下工具:

下载 OpenCV 源码

我们可以从 OpenCV 的 GitHub 仓库 下载源码,或者直接从 OpenCV 的 官方网站 下载预编译的版本。

使用 Git 克隆源码:

git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git # 可选,包含额外的模块

使用 CMake 配置 OpenCV

1、创建一个构建目录并进入:

mkdir build cd build

2、使用 CMake 生成构建文件:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

如果你需要额外的模块(如opencv_contrib),可以添加以下参数:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

3、编译并安装 OpenCV:

make -j4 # 使用 4 个线程进行编译 sudo make install

4、配置环境变量(可选)

在 Linux 或 macOS 上,你可能需要将 OpenCV 的库路径添加到环境变量中:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

在 Windows 上,你可以通过系统属性 -> 高级系统设置 -> 环境变量来添加 OpenCV 的库路径。


在 C++ 项目中使用 OpenCV

安装完成后,你可以在 C++ 项目中使用 OpenCV。

以下是一个简单的示例程序,展示如何使用 OpenCV 加载并显示一张图片。

1、创建 C++ 项目

创建一个新的 C++ 源文件,例如main.cpp

编写以下代码:

实例

#include <opencv2/opencv.hpp> #include <iostream> int main() { // 读取图片 cv::Mat image = cv::imread("example.jpg"); // 检查图片是否成功加载 if (image.empty()) { std::cout << "无法加载图片!" << std::endl; return -1; } // 显示图片 cv::imshow("Display Image", image); // 等待按键 cv::waitKey(0); return 0; }

2、编译和运行

使用以下命令编译代码:

g++ main.cpp -o main `pkg-config --cflags --libs opencv4`

3、运行

运行生成的可执行文件:

./main

如果一切正常,你应该能够看到图片在窗口中显示出来。


常见问题及解决方案

1、找不到 OpenCV 库

如果在编译时遇到找不到 OpenCV 库的错误,请确保你已经正确安装了 OpenCV,并且环境变量配置正确。

我们可以使用pkg-config来检查 OpenCV 的安装路径:

pkg-config --cflags --libs opencv4

2、图片无法加载

如果图片无法加载,请检查图片路径是否正确,以及图片文件是否存在。你可以使用绝对路径来确保路径正确。

3、窗口无法显示

如果窗口无法显示,请确保你的系统支持图形界面,并且 OpenCV 的 GUI 模块已正确安装。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:58:29

282. Java Stream API - 从 Collection 或 Iterator 创建 Stream

文章目录282. Java Stream API - 从 Collection 或 Iterator 创建 Stream✅ 一、从 Collection 创建 Stream&#xff08;最常见方式&#xff09;&#x1f9e9; 二、Map 没有 stream()&#xff0c;那怎么办&#xff1f;&#x1f4cc; 示例&#xff1a;打印 Map 中的键值对&#…

作者头像 李华
网站建设 2026/6/10 13:08:39

HeyGem推荐使用清晰人声音频,背景噪音会影响效果

HeyGem推荐使用清晰人声音频&#xff0c;背景噪音会影响效果 在数字人视频生成技术迅速普及的今天&#xff0c;越来越多的企业与创作者开始尝试用AI驱动虚拟形象“开口说话”。无论是在线课程中的虚拟讲师、企业宣传里的品牌代言人&#xff0c;还是直播带货中的数字主播&#x…

作者头像 李华
网站建设 2026/6/10 14:02:27

HoRain云--Vue导出Excel的5种实用方法

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

作者头像 李华
网站建设 2026/5/9 20:21:37

HeyGem能否处理4K视频?高分辨率支持但建议降级

HeyGem能否处理4K视频&#xff1f;高分辨率支持但建议降级 在数字人技术迅速渗透虚拟主播、智能客服和在线教育的今天&#xff0c;AI驱动的口型同步能力已成为内容生产的核心竞争力。用户不再满足于“能动”的数字人&#xff0c;而是追求自然流畅、唇形精准匹配语音的表现力。H…

作者头像 李华
网站建设 2026/6/10 13:57:01

如何用C#集合表达式实现秒级数据过滤?90%程序员忽略的2个关键点

第一章&#xff1a;C#集合表达式筛选的核心概念在C#开发中&#xff0c;集合表达式筛选是处理数据集合的核心技术之一。通过LINQ&#xff08;Language Integrated Query&#xff09;&#xff0c;开发者能够以声明式语法高效地过滤、转换和操作集合数据&#xff0c;极大提升了代码…

作者头像 李华