OpenCV——图片的加载、显示、保存(python)

本小节,我们将学习在Python语言中利用OpenCV库来实现图片的读取、显示、保存,所有的这些图片都是一个numpy.ndarray,这三种操作都过cv2.imread()、cv2.imshow()、cv2.imwrite()三个函数来实现,同时在文末,简要介绍了使用Matplotlib来显示图片。本文所使用opencv为opencv3.2版本,图片如下:

这里写图片描述

1. 读取图片

在OpenCV中使用cv2.imread()函数来加载图片,该函数的形式如下:

cv2.imread(path, flags)

参数意义如下:

  • path: 该参数制定图片的路径,可以使用相对路径,也可以使用绝对路径;
  • flags:指定以何种方式加载图片,有三个取值:
    1. cv2.IMREAD_COLOR:读取一副彩色图片,图片的透明度会被忽略,默认为该值,实际取值为1;
    2. cv2.IMREAD_GRAYSCALE:以灰度模式读取一张图片,实际取值为0
    3. cv2.IMREAD_UNCHANGED:加载一副彩色图像,透明度不会被忽略。

如果给定的图片路径不对,该函数不会抛出异常,而是返回一个None,如果给定正确的图片路径,将返回一个[height, width, channel]的numpy.ndarray对象,height表示图片高度,width表示图片宽度,channel表示图片的通道。

import numpy as np
import cv2

img = cv2.imread("pic.jpg")
# img = cv2.imread("pic.jpg", cv2.IMREAD_COLOR)
# img = cv2.imread("p
### 编译 OpenCV 及其扩展模块 opencv_contrib 的过程 在 Linux 环境下从源代码编译 OpenCV 和 `opencv_contrib` 是一项常见的开发需求。以下是详细的说明: #### 准备工作 为了成功完成编译,需要确保系统已安装必要的依赖项和工具链。 1. **更新系统并安装基本工具** 需要先更新系统的软件包管理器,并安装一些常用的构建工具,例如 CMake、Git 和其他依赖库。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libdc1394-22-dev -y ``` 2. **克隆 OpenCVopencv_contrib 源码** 使用 Git 将官方仓库中的最新版本拉取到本地环境。 ```bash cd ~ git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git ``` 如果目标是特定版本,则可以切换分支至指定标签[^2]。 ```bash cd ~/opencv git checkout 3.4.0 cd ~/opencv_contrib git checkout 3.4.0 ``` #### 构建流程 通过 CMake 工具来配置项目参数,并执行实际的编译操作。 1. **创建临时目录用于存储生成文件** 推荐在一个独立子目录中运行整个构建进程以保持原始源树整洁无污染。 ```bash mkdir -p ~/opencv/build && cd ~/opencv/build ``` 2. **调用 CMake 进行初始化设置** 此阶段需指明额外插件路径以及其他选项开关状态。 ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON .. ``` 参数解释如下: - `-D CMAKE_BUILD_TYPE=RELEASE`: 定义发行版模式优化性能而非调试用途。 - `-D CMAKE_INSTALL_PREFIX=/usr/local`: 设置最终产物部署位置。 - `-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules`: 明确附加功能所在地址[^3]。 - `-D BUILD_EXAMPLES=ON`: 同意一并打包示例程序便于学习验证效果。 3. **启动多线程编译引擎** 利用 GNU Make 或者 Ninja 加速处理速度。 ```bash make -j$(nproc) ``` 命令里的变量自动检测 CPU 核心数从而最大化利用硬件资源加快进度。 4. **正式安装成果** 当所有组件都已完成组装之后即可实施全局可用化步骤。 ```bash sudo make install sudo ldconfig ``` 以上即完成了基于 Linux 平台上的 OpenCV 主体框架连同附属增强部分的一整套定制化解析方案[^4][^5]。 ```python import cv2 as cv print(cv.__version__) ``` 上述脚本可用于确认当前加载的是刚建立好的自定义实例还是默认预装版本。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值