如何在Ubuntu系统下安装配置Python和OpenCV进行图像处理开发
随着人工智能和计算机视觉的迅猛发展,图像处理技术变得越来越重要。Python作为一种简洁而强大的编程语言,配合OpenCV这一开源计算机视觉库,成为了图像处理领域的黄金搭档。本文将详细介绍如何在Ubuntu系统下安装和配置Python及OpenCV,助你顺利开启图像处理开发之旅。
一、准备工作
在开始安装之前,确保你的Ubuntu系统是最新的。打开终端,执行以下命令更新系统:
sudo apt update
sudo apt upgrade
二、安装Python
虽然大多数Ubuntu系统默认已安装Python,但为了确保版本兼容性和环境独立性,建议安装Python的特定版本。
- 安装Python
首先,安装Python及其相关工具:
sudo apt install python3 python3-pip python3-venv
这里,python3
是Python解释器,python3-pip
是Python包管理工具,python3-venv
用于创建虚拟环境。
- 创建虚拟环境
为了避免不同项目之间的依赖冲突,建议为每个项目创建一个独立的虚拟环境:
python3 -m venv myenv
这里,myenv
是你的虚拟环境名称,你可以根据需要更改。
- 激活虚拟环境
激活虚拟环境后,所有安装的包都将局限于此环境:
source myenv/bin/activate
激活后,终端提示符前会多出一个(myenv)
,表示当前处于虚拟环境中。
三、安装OpenCV
- 安装依赖包
OpenCV依赖于一些系统库,首先安装这些依赖:
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
gfortran openexr libatlas-base-dev python3-dev python3-numpy \
libtbb2 libtbb-dev libdc1394-22-dev
- 下载OpenCV源码
从OpenCV的GitHub仓库下载最新源码:
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
进入下载的目录:
cd opencv
mkdir build
cd build
- 配置CMake
使用CMake配置OpenCV的编译选项:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
配置过程中,CMake会检查系统环境并生成编译文件。
- 编译和安装OpenCV
编译OpenCV可能需要一些时间,视系统性能而定:
make -j$(nproc)
sudo make install
sudo ldconfig
这里,-j$(nproc)
表示使用所有CPU核心进行并行编译。
四、配置Python环境
- 安装Python版OpenCV
在激活的虚拟环境中,使用pip安装Python版的OpenCV:
pip install opencv-python-headless
opencv-python-headless
是去掉GUI部分的OpenCV版本,适用于服务器或不需要GUI的场景。如果你需要GUI功能,可以安装opencv-python
。
- 验证安装
编写一个简单的Python脚本,验证OpenCV是否安装成功:
import cv2
print(cv2.__version__)
运行此脚本,如果输出OpenCV的版本号,则表示安装成功。
五、实战演练:图像读取与显示
- 准备图片
- 编写Python脚本
创建一个名为display_image.py
的Python脚本,内容如下:
import cv2
# 读取图片
image = cv2.imread('example.jpg')
# 显示图片
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
- 运行脚本
在终端中执行以下命令:
python display_image.py
六、总结
通过以上步骤,我们成功在Ubuntu系统下安装和配置了Python及OpenCV环境,并进行了简单的图像处理实战。图像处理是一个广阔而有趣的领域,掌握这些基础工具后,你可以进一步探索更多高级功能,如人脸识别、目标检测等。