Linux环境下配置 opencv for c++

下载opencv源码

官网下载opencv3 .* . *,解压

cmake

用terminal进入解压出来的opencv文件夹,

mkdir release

运行cmake

sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

或直接

sudo cmake ..

编译

terminal还是在release文件夹内

sudo make
sudo make install

配置环境变量

sudo gedit /etc/ld.so.conf.d/opencv.conf(可自行创建)
末尾添加一行:/usr/local/lib

sudo ldconfig # 更新一下系统的共享链接库
sudo gedit /etc/bash.bashrc
末尾添加一行:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
vim /etc/bash.bashrc #vim编辑文件(不会vim可能有难度)

#在文件末尾加入
export LD_LIBRARY_PATH=/home/lp/soft/opencv-3.4.2/release/lib:$LD_LIBRARY_PATH
#上面保存退出vim后再运行以下命令:
source /etc/bash.bashrc

运行代码

1.使用g++命令行 pkg-config参数方法

sudo g++ main.cpp -o main `pkg-config --cflags --libs opencv`
会生成可执行文件main

2.IDE-CLion

新建项目后,项目文件夹内会出现CMakeLists.txt,在下方添加两行

find_package(OpenCV REQUIRED)
target_link_libraries(test ${OpenCV_LIBS})

第二行test替换成你自己的项目名

参考:
1.https://blog.csdn.net/u013025203/article/details/79325862
2.https://blog.csdn.net/ktigerhero3/article/details/70787802
3.https://blog.csdn.net/m0_37357063/article/details/84191669
4.https://www.cnblogs.com/Davidhwj/p/10433366.html

**OpenCV (开源计算机视觉库)** 是一个基于 C++ 的跨平台开源库,它提供了大量用于图像处理、视频分析以及机器学习应用的功能。OpenCV 主要由两部分组成:核心模块(Core module)和功能模块(Feature modules)。核心模块包含了基本的数据结构、线程支持、错误检查等基础组件,而功能模块则包含了更复杂的功能如图像处理算法、特征检测、对象识别等。 OpenCV 2.x 版本相对于之前的版本进行了大量的改进和优化,增加了许多新的功能,并简化了一些API设计。对于 C++ 用户来说,OpenCV 提供了丰富且高效的 API 来操作图像数据,包括读取和写入图像文件、图像显示、颜色空间转换、滤波、边缘检测、形状匹配等多种功能。 ### 使用 OpenCV 的步骤: #### 安装 安装 OpenCV 需要一些系统级别的配置和依赖项管理。常见的步骤包括: 1. **选择构建工具**:你可以选择从源码构建(通常需要 CMake 和 Make 或者 NDK for Android),也可以直接使用预编译的二进制包(例如通过包管理器在 Linux 系统上安装)。 2. **准备环境**:确保你的系统上已经安装了必要的依赖,比如 Python、Python 扩展库(如 NumPy)、各种数学库、线程库等。 3. **下载源代码**:从 OpenCV GitHub 存储库或其他官方资源下载最新的源代码。 4. **配置和构建**:使用 CMake 来配置你的构建设置,然后运行 `make` 命令开始编译过程。 5. **安装**:完成构建后,运行 `sudo make install` 将 OpenCV 安装到系统的相应目录下。 #### 编程示例: 下面是一个简单的 C++ 示例,展示了如何使用 OpenCV 进行基本的图像加载和显示: ```cpp #include <opencv2/opencv.hpp> using namespace cv; int main() { // 加载图像 Mat image = imread("path_to_your_image.jpg", IMREAD_COLOR); if(image.empty()) { std::cout << "Error loading the image" << std::endl; return -1; } // 显示图像 namedWindow("Image", WINDOW_NORMAL); imshow("Image", image); waitKey(0); // 等待按键输入 return 0; } ``` ### 相关问题: 1. **如何在 OpenCV 中进行人脸识别?** 2. **OpenCV 是否支持实时视频流处理?如果支持,该如何设置?** 3. **如何利用 OpenCV 实现图像分割并提取特定区域的内容?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值