【Python编程实践2/3】Python图像处理模块(上)

news2024/11/19 23:40:52

目录

引言

目标

安装模块

Windows系统

macOS系统

路径

Windows路径

​编辑macOS路径        

windows路径报错

windows路径前的r

示例代码

windows快速查看路径

macOS快速查看路径

打开图片

展示图片

下节预告

总结


引言

        欢迎各位大佬垂阅本篇Python实践博客,来到这儿,你已经超越%89.60的Python入门学习者啦~

        前面的博客,我们学习了Python的数据类型、判断、循环、函数等知识点。你是否会有这样的疑问:这些简单的代码有些什么实际的应用呢?基于这一些基础语法,再结合前人搭建的开源模块,我们能用Python解决很多实际问题。

        接下来的两篇博客,我们来通过图片处理操作,来解决一个困扰小栗子的难题。小栗子最近绘制了一些插画,想将它们分享到各大平台,但又担心这些插画被他人盗用,那有什么好的办法能帮助小栗子来解决这个难题呢?

        其实,我们可以利用通过第三方提供的pillow模块,给插画添加指定的水印,这个过程需要以下六个步骤:1、安装模块 2、打开图片 3、展示图片 4、加载字体 5、绘制文字 6、保存图片

        今天,我们来学习前面三个步骤。

        前面,我们学习了Python自带的内置模块。今天,我们来学习第三方模块的知识。由于系统学习一个第三方模块,会花费不少时间。因此,为了尽快在本地感受第三方模块的魅力,这里我们以相对简单的pillow模块进行讲解。

目标

        pillow模块是一个第三方图像处理模块,主要用于图像的基本处理。接下来的两篇博客,我们将利用pillow模块给图片添加自己想要的水印。

        本篇,我们先来学习如何利用pillow模块,打开并展示出一张图片

安装模块

        pillow模块是第三方模块,在导入使用前,必须先进行安装。下面,我们以pillow为例,来看看如何安装第三方模块。

        为了安装第三方模块,我们需要一个叫做pip的工具。而pip工具,在我们前面安装Python环境的时候,已经自动安装了。现在,我们可以直接在电脑上使用pip工具来安装第三方模块。大家可以在自己的电脑上跟着一起完成安装

Windows系统

        要使用pip工具安装第三方模块,需要在Windows的命令提示符(终端)里进行。我们可以使用以下两种方式之一打开终端:

        1. 在电脑的「开始菜单」旁的搜索栏里输入 cmd 后,敲击回车;

        2. 同时在键盘上按下WIN和R,在运行框里输入 cmd 后,敲击回车。

        打开窗口,并且确保电脑已经连入互联网后,就可以开始安装第三方模块了。比如,我们要安装pillow模块。只需要在窗口内输入: pip install pillow,然后敲击回车。

        安装过程如图。点击回车后,会出现很多的安装信息。当看到Successfully installed...时,说明模块已经安装成功。

        大家还可能会遇到黄色的警告,这是在提示需要升级pip工具。可以选择忽视。

        若在自己电脑上安装不上或安装缓慢,可使用以下命令进行加速:pip install pillow==9.1.0 -i https://pypi.mirrors.ustc.edu.cn/simple/

macOS系统

        要使用pip工具安装第三方模块,需要在macOS的终端里进行。我们可以使用以下两种方式之一打开终端:

        1. 我们在启动台中找到并打开【其他】,点击【终端】图标;

        2. Command + 空格键跳出搜索框,输入ter按回车即可打开终端。

        打开终端窗口,并且确保电脑已经连入互联网后,就可以开始安装第三方模块了。比如,我们要安装pillow模块。只需要在窗口内输入: pip3 install pillow,然后敲击回车。

        安装过程如图。点击回车后,会出现很多的安装信息。当看到Successfully installed...时,说明模块已经安装成功。大家还可能会遇到黄色的警告,这是在提示需要升级pip工具,可以选择忽视。

        若在自己电脑上安装不上或安装缓慢,可使用以下命令进行加速:pip3 install pillow -i https://pypi.mirrors.ustc.edu.cn/simple/

路径

        模块安装后,就可以导入使用了。而在我们使用pillow模块去打开图片前,我们需要知道该图片在电脑中的位置。而这个位置就是 -- 路径

定义路径表示文件或者文件夹的位置。

隐喻路径就像现实中的地址一样,帮助我们找到目标文件或文件夹在什么位置。

Windows路径

        现在我们常用的计算机系统分为 Windows系统 和 macOS系统。在Windows系统的路径中,我们使用反斜线 ( \ ) 分隔各个文件夹和文件名。同时,在路径的最前面,是盘符的字母和英文冒号,表示文件或文件夹在哪个盘的路径下。

        注意:盘符就是电脑里的C盘、D盘的字母C和D。



macOS路径        

        在macOS系统中,文件夹和文件名使用正斜线 ( / ) 进行分隔。由于macOS系统中没有盘符的概念,所以其路径都是从根目录( / ) 开始。

        注意:根目录是指最上一级目录,它如同一棵大树的“根”一般,所有的文件和文件夹都以它为起点。

windows路径报错

        如图,当我们输出Windows系统的路径时,会出现报错。而引起这个错误的原因就是转义的问题。在Windows系统中,读取文件路径使用反斜线 ( \ )。但是在Python字符串中,反斜线 ( \ )有转义的含义,比如:\n代表换行。

windows路径前的r

        解决反斜线 ( \ )转义的问题,有一个常用的办法。就是在路径前面加字母r,表示保持字符的原始值。

        比如 r"C:\Users\photo.jpg"

示例代码

示例代码中,展示了macOS系统Windows系统中路径的使用方法。

# 将文件路径/Users/photo.jpg,赋值给macOS_path
macOS_path = "/Users/photo.jpg"

# 将文件路径C:\Users\photo.jpg,赋值给Windows_path
Windows_path = r"C:\Users\photo.jpg"

# 输出变量macOS_path
print(macOS_path)
# 输出变量Windows_path
print(Windows_path)



windows快速查看路径

        这里提供Windows快速获取路径的两种方法:

        1. 按下Shift 键不放,然后对应文件上单击右键 ,选择【 复制文件地址 】即可得快速得到路径;

        2. 将对应文件拖入终端,即可快速得到路径。(注意,在键盘上按下WIN和R,在运行框里输入 cmd 后,敲击回车打开终端。)

macOS快速查看路径

        这里提供macOS快速获取路径的两种方法:

        1. 找到文件,使用快捷键option+command+c

        2. 将对应文件拖入终端,即可快速得到路径。(注意,Command + 空格键跳出搜索框,输入ter按回车即可打开终端。)

打开图片

        安装完模块,学习完路径后,我们就可以使用pillow模块来打开图片了。下面,我们就来学习如何打开一张指定路径的图片

        通过导入Image类,然后使用该类中的open()方法,打开一张图片。

# 从PIL模块中导入Image类
from PIL import Image
# 使用Image类的open()方法打开图片,赋值给变量img
img = Image.open("/Users/yequ/team.png")

从模块中导入类

        使用from … import语句,从PIL模块中导入了类Image。注意,pillow模块比较特殊,需要使用PIL的简写形式。

类名

        类名Image,表明接下来要调用Image类中的方法。

句点

        用于连接类名和方法名。

方法

        类中的open()方法,作用是打开指定路径的图片

对象名

变量img是通过类方法打开的一个图片对象

展示图片

   Image中的open()方法,用于打开图片。而展示图片,就需要用Image中的show()方法。通过导入Image类,然后使用该类中的open()方法,打开一张图片。最后,通过该类中的show()方法展示图片。

# 从PIL模块中导入Image类
from PIL import Image
# 使用Image类的open()方法打开图片,赋值给变量img
img = Image.open("/Users/yequ/team.png")
# 展示图片
img.show()

展示图片

直接在图片对象img后使用show()方法,展示图片。方法的调用语法为:对象.方法名()

下节预告

        今天,我们通过导入模块打开并展示了图片。下次,我们将继续使用PIL模块中的其他类,来给图片添加水印,并将其保存在本地的电脑上

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1715650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Class类简介

一、类图: 二、基本介绍: 1. Class也是类,因此也继承了Object类。 2. Class类的对象不是new出来的,是系统创建的。 类加载器ClassLoader有个方法LoadClass(),将某个类对应的Class对象生成在堆中。 通过调试可以发现&am…

电脑显示由于找不到msvcr110.dll 无法继续执行如何处理?最简单的修复msvcr110.dll文件方法

电脑显示由于找不到msvcr110.dll 无法继续执行?当你看到这种提示的时候,请不要紧张,这种是属于dll文件丢失,解决起来还是比较简单的,下面会详细的列明多种找不到msvcr110.dll的解决方法。 一.找不到msvcr110.dll是怎么…

cesium绘制编辑区域

npm 安装也是可以的 #默认安装最新的 yarn add cesium#卸载插件 yarn remove cesium#安装指定版本的 yarn add cesium1.96.0#安装指定版本到测试环境 yarn add cesium1.96.0 -D yarn install turf/turf <template><div id"cesiumContainer"></div…

【Windows配置nginx开机自启】

Windows配置nginx开机自启 方式一&#xff1a;将nginx加入到windows服务中方式二&#xff1a;通过windows任务计划设定nginx开机自启 方式一&#xff1a;将nginx加入到windows服务中 下载window service wraper&#xff08;https://github.com/winsw/winsw/releases&#xff0…

【环境配置】windows的磁盘分区、VMware下的ubuntu20的安装、虚拟机系统界面过小的处理

这段时间在折腾自己的笔记本&#xff0c;刚好也有同学新买台式机咨询安装VMware软件&#xff0c;就顺便记录下windows的环境的一些操作。方便自己需要时查阅。 1 windows磁盘分区 在Windows系统中&#xff0c;磁盘分区和管理可以通过【磁盘管理】工具进行。要打开磁盘管理&…

【5.基础知识和程序编译及调试】

一、GCC概述&#xff1a;是GUN推出的多平台编译器&#xff0c;可将C/C源程序编译成可执行文件。编译流程分为以下四个步骤&#xff1a; 1、预处理 2、编译 3、汇编 4、链接 注&#xff1a;编译器根据程序的扩展名来分辨编写源程序所用的语言。根据不同的后缀名对他们进行相…

IDEA 2024.1.2安装与破解

官网下载 官网地址 安装 直接下一步 破解 破解网站 第一步 第二步 第三步 第四步 第五步

【图像处理与机器视觉】图像处理概述与像素

什么是数字图像处理 改善图像信息&#xff0c;便于作出解释 方便对图像传输&#xff0c;储存&#xff0c;方便机器理解 什么是数字图像 &#xff08;1&#xff09;模拟图像&#xff1a;连续二维函数 f&#xff08;x&#xff0c;y&#xff09;表示&#xff0c;其中 x&#xf…

猫狗分类识别模型建立②模型建立

一、导入依赖库 pip install opencv-python pip install numpy pip install tensorflow pip install keras 二、模型建立 pip install opencv-python pip install numpy pip install tensorflow pip install kerasimport os import xml.etree.ElementTree as ETimpor…

【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版6(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言方法一、使用excel配置表excel转txt文本读取txt数据按配置信息生成僵尸 方法二、使用ScriptableObject 配置关卡信息源码结束语 前言 本节主要是推荐两种实现配置关卡信息&#xff0c;并按表生成僵尸和关卡波次 方法一、使用…

202474读书笔记|《我自我的田渠归来》——愿你拥有向上的力量,一切的好事都应该有权利发生

202474读书笔记|《我自我的田渠归来》——愿你拥有向上的力量 《我自我的田渠归来》作者张晓风&#xff0c;被称为华语散文温柔的一支笔&#xff0c;她的短文很有味道&#xff0c;角度奇特&#xff0c;温柔慈悲而敏锐。 很幸运遇到了这本书&#xff0c;以她的感受重新认识一些事…

手机拍照扫描成电子版,这三款软件助你轻松搞定!

在数字化时代&#xff0c;将手机拍照的内容快速转换为电子版已经成为许多人日常生活和工作中不可或缺的技能。无论是快速记录文档、合同&#xff0c;还是将纸质照片、笔记转化为电子格式&#xff0c;手机拍照扫描功能都为我们提供了极大的便利。今天&#xff0c;就为大家介绍三…

视频智能分析平台LntonCVS视频安防平台智慧农场应用方案

随着乡村振兴战略的深入实施&#xff0c;数字化发展已经成为农业生产的新方向和突破。在聚焦数字发展、探索数字应用、感受数字赋能的新发展模式下&#xff0c;“数字大田”融合了视频监控技术、5G通信技术、物联网技术和AI智能技术等先进技术&#xff0c;为春季农耕农管提供了…

失落的方舟 命运方舟台服封号严重 游戏封IP怎么办

步入《失落的方舟》&#xff08;Lost Ark&#xff09;&#xff0c;这款由Smilegate精心打造的宏大规模在线角色扮演游戏&#xff08;MMORPG&#xff09;&#xff0c;您将启程前往阿克拉西亚这片饱经沧桑的奇幻大陆&#xff0c;展开一场穿越时空的壮阔探索。在这里&#xff0c;一…

人脸识别——探索戴口罩对人脸识别算法的影响

1. 概述 人脸识别是一种机器学习技术&#xff0c;广泛应用于各种领域&#xff0c;包括出入境管制、电子设备安全登录、社区监控、学校考勤管理、工作场所考勤管理和刑事调查。然而&#xff0c;当 COVID-19 引发全球大流行时&#xff0c;戴口罩就成了日常生活中的必需品。广泛使…

实战解析:爬取音乐每日推荐歌单并自动分享

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、准备阶段 三、实战步骤 四、总结与展望 一、引言 在数字化时代&#xff0c…

揭开神秘的“位移主题”面纱 no.16

Kafka中神秘的内部主题&#xff08;Internal Topic&#xff09;__consumer_offsets。 consumer_offsets在Kafka源码中有个更为正式的名字&#xff0c;叫*位移主题*&#xff0c;即Offsets Topic。为了方便今天的讨论&#xff0c;我将统一使用位移主题来指代consumer_offsets。需…

新疆 | 金石商砼效率革命背后的逻辑

走进标杆企业&#xff0c;感受名企力量&#xff0c;探寻学习优秀企业领先之道。 本期要跟砼行们推介的标杆企业是新疆砼行业的龙头企业&#xff1a;新疆兵团建工金石商品混凝土有限责任公司&#xff08;以下简称&#xff1a;新疆金石&#xff09;。 从年产80万方到120万方&am…

OpenMv图片预处理

本博客讲述的是获取一张图片首先对图像进行处理,比如畸形矫正,图像滤波等操作。 1.histeq()自适应直方图均衡 # 自适应直方图均衡例子 # # 此示例展示了如何使用自适应直方图均衡来改善图像中的对比度。 #自适应直方图均衡将图像分割成区域,然后均衡这些区域中的直方图,…

React基础知识笔记

Reat简介 React&#xff1a;用于构建用户界面的 JavaScript 库。由 Facebook 开发且开源。是一个将视图渲染为html视图的开源库 第一章&#xff1a;React入门 相关js库 react.development.js &#xff1a;React 核心库react-dom.development.js &#xff1a;提供 DOM 操作的…