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

embedded/2024/10/22 12:28:40/

1. 介绍

        在计算机视觉和图像处理领域,读取和显示图像是最基础且常见的操作之一,OpenCV作为一个强大的计算机视觉库,提供了丰富的功能来处理图像数据。
        读取、显示和写入图像是图像处理和计算机视觉的基础,即使裁剪、调整大小、旋转或应用不同的过滤器来处理图像,您也需要首先读取图像。因此,掌握这些基本操作很重要。

2. 操作步骤

(1)读入图像

        使用函数 cv2.imread()读入图像。这幅图像应该在此程序的工作路任,或者给函数提供完整路径,第二个参数是要告诉函数应该如何读取这幅图片。
        • cv2. IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。
        • cv2. IMREAD_GRAYSCALE:以灰度模式读入图像
        • Cv2. IMREAD_UNCHANGED:读入一幅图像,并且包括图像的alpha通道

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


(2)显示图像

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

# 载入显示库
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()来保存一个图像。首先需要一个文件名,之后才是你要保存的图像。

cv2.imwrite ('makerobo.png',input)


(4)使用Matplotlib显示图像

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

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)进行转换。


http://www.ppmy.cn/embedded/127641.html

相关文章

Ubuntu:用户不在sudoers文件中

1、问题 执行sudo xxx命令时,显示: user 不在sudoers文件中 需要查看系统版本进入恢复模式修复。 2、重启进入恢复模式 查看系统命令:uname -r 可能显示为:6.8.0-45-generic 重启Ubuntu系统,在开机时按ESC进入模…

【论文翻译】TITAN:用于交通流量预测的异构专家混合模型

题目A TIME SERIES IS WORTH FIVE EXPERTS: HETEROGENEOUS MIXTURE OF EXPERTS FOR TRAFFIC FLOW PREDICTION论文链接https://arxiv.org/pdf/2409.17440源码地址https://github.com/sqlcow/TITAN(作者说论文被接受后,代码将更新) 摘要 准确的…

学习threejs,THREE.MeshBasicMaterial网格材质、THREE.MeshLambertMaterial漫反射材质

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshBasicMaterial网…

Codeforces Round 950 (Div. 3) F1题 Field Division (easy version)(排序,单调栈)

题目链接 Codeforces Round 950 (Div. 3) F1题 Field Division (easy version) 思路 我们按 r r r从小到大, c c c从大到小进行排序。 预处理一个 n x t nxt nxt数组,表示 c c c的后缀最小值。这样,我们就可以利用 n x t nxt nxt数组直接…

centos7安装配置python3环境

1、wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz 2、安装python依赖环境 切换到root用户,然后执行下面命令: 3、安装gcc,用于后续安装Python时编译源码: yum install gcc -y 4、安装Python3相关依赖&#…

Attention的总结

文章目录 Attention 机制计算过程实现维度设置具体维度多维张量乘法的基本规则广播的应用:code 矩阵乘法选择1. torch.bmm()(Batch Matrix Multiplication)2. torch.matmul()(Matrix Multiplication)3. np.dot()&#…

如何解锁业务数据价值:基于云器Lakehouse构建面向未来的ELT现代数据栈

随着企业数据量和数据架构的日益复杂,企业急需寻找更快、更高效、更节省成本的数据管理和分析方法。近年来,现代化数据栈(Modern Data Stack,简称MDS)不断创新发展,受到了广泛的关注。 MDS是什么&#xff…

抖去推--短视频矩阵系统源码对外资料包

#短视频矩阵系统源码# #短视频矩阵系统源码开发# #短视频矩阵系统源码打包# 一、短视频矩阵系统源码安装 安装环境 短视频矩阵系统源码需要以下环境: PHP 7.0 及以上 MySQL 5.5 及以上 Nginx / Apache Redis FFMpeg 下载源码 从官网下载最新版本的短视频矩阵系统…