ubuntu下搭建配置opencv环境(适用于Python和C++)

最近搞图像方面的机器学习,需要用到opencv,没想到为Python配置opencv出现了不少问题,今天分享给大家我的正确配置方式。

首先,我们需要先安装一些依赖库:

sudo apt-get install libtiff5-dev

sudo apt-get install build-essential cmake libgtk2.0-dev   libjasper-dev libavformat-dev libswscale-dev libavcodec-dev  libjpeg62-dev pkg-config ffmpeg

第二步,在opencv官方下载页面下载对应系统版本的opencv,目前我下载的是2.4.13的版本:
opencv

在命令行中跳转到对应目录并解压,这里我解压到用户主目录下了:

cd ~/下载
unzip -o -d ~/  opencv-2.4.13.zip

进入opencv目录里,并新建一个文件夹,命名为“release”,并进入:

mkdir release
cd release 

重点来了,编译安装opencv:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..  

sudo make install  

export LD_LIBRARY_PATH=~/soft/opencv/release/lib:$LD_LIBRARY_PATH  

sudo ldconfig  

pkg-config opencv –libs  

注意,make install这个步骤时间较长,且中间可能会有警告,不用管他,只要能编译到100%就行。

然后,一切都搞定了,小试牛刀:

cd ../sample/cpp/  

g++ drawing.cpp -o drawing `pkg-config opencv --libs --cflags`  

./drawing  

不出意外的话,会出现,额,炫酷的宣传画面吧。

这里,和使用pycharm这个IDE的同学来个感想,请不要在pycharm IDE里的库搜索安装opencv-python,不然会发现opencv用不了的情况。
如果有安装,卸了吧

本篇博客主要参考:
http://blog.csdn.net/sunlylorn/article/details/7907698
感谢!

<think>好的,我现在要帮用户在Ubuntu 22.04安装OpenCV 4.5。用户可能已经看过一些资料,但需要更明确的步骤。首先,我需要回顾用户提供的引用内容,确保步骤正确。 用户提到的引用[1]、[2]、[3]都涉及Ubuntu 22.04安装不同版本的OpenCV。引用[2]提到了安装依赖库的步骤,包括各种开发包,这可能对安装OpenCV 4.5是必要的。而引用[1][3]都提到了重命名安装目录或同时安装多个版本的情况,但用户主要需要安装4.5版本,所以可能需要调整步骤。 首先,安装依赖库是关键,根据引用[2],需要安装g++、cmake、unzip等,还有GTK、视频编解码库等。用户可能需要执行这些sudo apt-get install命令来确保所有依赖项都已满足。 接下来,下载解压OpenCV 4.5的源码。用户需要从官方仓库下载指定版本,比如4.5.5或4.5.1。注意用户的问题是关于4.5,所以具体小版本可能需要确认,但通常主版本号相同的步骤类似。 然后,创建构建目录,运行cmake配置。这里可能需要指定安装路径,或者调整构建选项,比如开启某些模块。引用[3]提到使用不同的构建命令,可能需要参考他们的CMake参数,比如设置-D CMAKE_BUILD_TYPE=Release,或者关闭某些不需要的模块以提高编译速度。 编译过程可能需要较长时间,使用make -j$(nproc)来加速。如果遇到错误,可能需要检查依赖是否全部安装,或者查看CMake的输出是否有缺失的库。 安装完成后,设置环境变量,如更新.bashrc或.zshrc,添加PKG_CONFIG_PATHLD_LIBRARY_PATH,这样系统能找到OpenCV的库。引用[1]提到重命名安装目录为opencv,可能需要将路径指向正确的libpkgconfig目录。 最后,验证安装,编写测试代码或用pkg-config检查版本。用户可能需要运行一个简单的C++程序,包含OpenCV头文件,链接库,并运行以确认安装成功。 需要注意的问题可能有:依赖项未完全安装导致编译失败;CMake配置错误;多版本共存时的路径冲突,如引用[3]中提到的同时安装不同版本,可能需要特别处理环境变量或使用不同的安装路径。用户如果之前安装过其他版本的OpenCV,可能需要清理旧版本或正确设置路径以避免冲突。 另外,用户可能需要处理FFmpeg的支持,如引用[1]中提到的安装FFmpeg库,确保视频相关功能正常。如果在编译时遇到与视频编解码相关的问题,可能需要检查FFmpeg是否正确安装并被OpenCV检测到。 总结步骤应该是:安装依赖、下载源码配置构建选项、编译安装配置环境变量、验证安装。每一步都需要详细说明,确保用户能正确执行。同时,提醒用户注意可能的错误点,比如权限问题、依赖缺失等,并提供解决办法,如使用sudo运行安装命令,或者安装推荐的依赖项。</think>### 在Ubuntu 22.04安装OpenCV 4.5的步骤 #### 1. 安装依赖库 首先安装必要的系统依赖开发工具: ```bash sudo apt-get update sudo apt-get install -y g++ cmake unzip build-essential git libgtk2.0-dev pkg-config sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev ``` 这些依赖包含编译器、构建工具、图像/视频编解码库等[^2]。 #### 2. 下载OpenCV 4.5源码 从GitHub仓库下载指定版本并解压: ```bash wget -O opencv-4.5.5.zip https://github.com/opencv/opencv/archive/4.5.5.zip unzip opencv-4.5.5.zip cd opencv-4.5.5 ``` 若需安装其他小版本(如4.5.1),可调整下载链接中的版本号。 #### 3. 配置与编译 创建构建目录并运行CMake: ```bash mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_FFMPEG=ON \ -D OPENCV_GENERATE_PKGCONFIG=YES .. ``` - `WITH_FFMPEG=ON` 启用视频支持(需确保FFmpeg已安装)[^1] - `OPENCV_GENERATE_PKGCONFIG=YES` 生成pkg-config文件,便于后续开发 编译并安装: ```bash make -j$(nproc) # 使用多线程加速编译 sudo make install ``` #### 4. 配置环境变量 更新库路径: ```bash echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc ``` #### 5. 验证安装 检查版本信息: ```bash pkg-config --modversion opencv4 ``` 若输出类似`4.5.5`,则安装成功。 #### 6. 测试代码(可选) 编写C++测试程序`test_opencv.cpp`: ```cpp #include <opencv2/opencv.hpp> int main() { cv::Mat image = cv::Mat::zeros(200, 200, CV_8UC3); cv::imshow("Test", image); cv::waitKey(0); return 0; } ``` 编译并运行: ```bash g++ test_opencv.cpp -o test $(pkg-config --cflags --libs opencv4) ./test ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值