树莓派应用--AI项目实战篇来啦-3.OpenCV 读取写入和显示图像

1. 介绍

在计算机视觉和图像处理领域,读取和显示图像是最基础且常见的操作之一,OpenCV作为一个强大的计算机视觉库,提供了丰富的功能来处理图像数据。

读取、显示和写入图像是图像处理和计算机视觉的基础,即使裁剪、调整大小、旋转或应用不同的过滤器来处理图像,您也需要首先读取图像。因此,掌握这些基本操作很重要。

2. 操作步骤

(1)读入图像

使用函数 cv2.imread()读入图像。这幅图像应该在此程序的工作路任,或者给函数提供完整路径,第二个参数是要告诉函数应该如何读取这幅图片。

• cv2. IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。

• cv2. IMREAD_GRAYSCALE:以灰度模式读入图像

• Cv2. IMREAD_UNCHANGED:读入一幅图像,并且包括图像的alpha通道

python 复制代码
import numpy as np
import cv2
# 在灰度上加载彩色图像
input = cv2.imread('/images/CLBLOGO.jpg')

(2)显示图像

显示图像需要调用到ipywidgets组件和IPython.display的显示组件,具体使用方式如下所示:

python 复制代码
# 载入显示库
import ipywidgets.widgets as widgets 
from Python.display import display
image = widgets.Image(format='jpeg', width=640, height=480)
display(image)

def bgr8_to_jpeg(value, quality=75):
    return bytes(cv2.imencode('.jpg',value)[1])
# 显示图像
image.value = bgr8_to_jpeg(input)

(3)保存图像

使用函数 cv2.imwrite()来保存一个图像。首先需要一个文件名,之后才是你要保存的图像。

python 复制代码
cv2.imwrite ('makerobo.png',input)

(4)使用Matplotlib显示图像

Matplotlib是Python的绘图库,可提供多种绘图方法。本节将学习如何使用Matplotlib显示图像。可以使用Matplotlib缩放图像、保存图像等。

python 复制代码
import matplotlib.pyplot as plt
img = cv2.cvtColor(input,cv2.COLOR_BGR2RGB)
plt.imshow(img),plt.title('Makerobo image',color='blue')
Plt.xticks([]),plt.yticks([])    #隐藏×轴和y轴上的刻度值
plt.show()

注意:OpenCV加载的彩色图像处于BGR模式。但是Matplotlib以RGB模式显示。所以需要转换为RGB的模式,在这个程序中就调用了cv2.cvtColor(img,cv2.COLOR_BGR2RGB)进行转换。

相关推荐
这张生成的图像能检测吗5 分钟前
(论文速读)基于迁移学习的大型复杂结构冲击监测
人工智能·数学建模·迁移学习·故障诊断·结构健康监测·传感器应用·加权质心算法
源于花海10 分钟前
迁移学习的第一类方法:数据分布自适应(1)——边缘分布自适应
人工智能·机器学习·迁移学习·数据分布自适应
小北方城市网11 分钟前
鸿蒙6.0:生态质变与全场景智慧体验的全面跃升
人工智能·ai·鸿蒙6.0
呆萌很12 分钟前
Canny 边缘检测
人工智能
视界先声22 分钟前
2025年GEO自动化闭环构建实践:监测工具选型与多平台反馈机制工程分享
大数据·人工智能·自动化
陈天伟教授24 分钟前
人工智能训练师认证教程(3)Pandas数据世界的军刀
人工智能·数据分析·pandas
another heaven27 分钟前
【深度学习 YOLO官方模型全解析】
人工智能·深度学习·yolo
HyperAI超神经27 分钟前
【Triton 教程】triton_language.load
人工智能·学习·大语言模型·cpu·gpu·编程语言·triton
科士威传动31 分钟前
丝杆支撑座同轴度如何安装?
人工智能·科技·机器学习·自动化
2401_8414956434 分钟前
【自然语言处理】中文 n-gram 词模型
人工智能·python·算法·自然语言处理·n-gram·中文文本生成模型·kneser-ney平滑