python实现图像处理之PiL依赖库的案例应用详解

Python实现图像处理:PiL依赖库的应用

本文包含的练习题主要是PIL依赖库,即pillow相关的应用。

练习一:使用python给图片增加数字

实现思路:

  1. 使用PIL的Image.open导入图片。
  2. 获取图片的大小。
  3. 调用ImageDraw,在图片的指定位置写上数字。
#coding=utf-8
#Auther by Alice
#在图片的右上角增加一个数字

from PIL import Image,ImageFont,ImageDraw
image = Image.open('/Users/alice/Documents/Photo/IMG_8379.JPG')
#打开原图

wight, hight = image.size
text = "015"
color = (255,255,0)
fontsize = wight//10
font = ImageFont.truetype('Apple Symbols',fontsize)
#设定增加的数字的参数,数字内容、数字颜色和数字字号

draw = ImageDraw.Draw(image)
draw.text((fontsize*6,0), text, color, font)
image.save('/Users/alice/Documents/Photo/IMG_7997.JPG', 'jpeg')
#保存添加了数字之后的图片

实现前:

实现后:

修改其中两行代码字体和颜色如下后,

color = (105,200,45)
font = ImageFont.truetype('Palatino.ttc',fontsize)

则运行的结果为:

练习二:使用python将一个图片放大缩小

实现思路:

  1. 使用PIL,即Python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用image.thumbnail放大缩小图片
#coding by alice
#coding=utf-8

from PIL import Image

im = Image.open('/Users/alice/Documents/Develop/PythonCode/test.JPG')
# 打开一个路径下的指定jpg图像文件
w,h = im.size
# 获得图像尺寸
im.thumbnail((w//10, h//10))
# 缩放到10%
im.save('/Users/alice/Documents/Develop/PythonCode/test2.JPG', 'jpeg')
# 把缩放后的图像用jpeg格式保存:

等同于代码:

#coding by alice
#coding=utf-8

from PIL import Image

image = Image.open('/Users/alice/Documents/Develop/PythonCode/test.JPG')
# 打开一个路径下的指定jpg图像文件
wight,hight = image.size
# 获得图像尺寸
image.thumbnail((weight//10, high//10))
# 缩放到10%
image.save('/Users/alice/Documents/Develop/PythonCode/test2.JPG', 'jpeg')
# 把缩放后的图像用jpg格式保存:

运行后的效果为:

练习三:使用python将一个图片实现模糊

实现思路:

  1. 使用PIL,即Python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用image.thumbnail放大缩小图片
#coding by alice
#coding=utf-8

from PIL import Image
from PIL import ImageFilter

image = Image.open('/Users/alice/Documents/Develop/PythonCode/test.JPG')
# 打开一个路径下的jpg图像文件
image = image.filter(ImageFilter.BLUR)
# 应用模糊滤镜
image.save('/Users/alice/Documents/Develop/PythonCode/test3.JPG', 'jpeg')
#保存图片

运行后的结果为

如果是静物或者人脸,放大后看则模糊效果会更明显。

练习四:使用python获取一个图片的元素坐标

实现思路:

  1. 使用PIL,即Python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用imshow显示图像
  4. 获取图片上点击光标,输出坐标
#coding by alice
#coding=utf-8

from PIL import Image
import matplotlib.pyplot as plt

image = Image.open('/Users/alice/Documents/Develop/PythonCode/test.JPG')
#打开所在位置及图像的名称
plt.figure('image')
#图像窗口名称
plt.imshow(image)
plt.show()

到此这篇关于python实现图像处理之PiL依赖库的案例应用详解的文章就介绍到这了,更多相关python实现图像处理之PiL依赖库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python openvc 裁剪、剪切图片 提取图片的行和列

    python openvc 裁剪图片 下面是4个坐标代码: import cv2 #裁剪图片路径input_path,四个裁剪坐标为:y1,y2,x1,x2,保存剪裁后的图片路径output_path def cut_img(input_path,y1,y2,x1,x2,output_path): #读图片cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道 img = cv2.imread(input_path,cv2.IMREAD_UNCHANGED) #剪裁图片img

  • python中Task封装协程的知识点总结

    说明 1.Task是Future的子类,Task是对协程的封装,我们把多个Task放在循环调度列表中,等待调度执行. 2.Task对象可以跟踪任务和状态.Future(Task是Futrue的子类)为我们提供了异步编程中最终结果的处理(Task类还具有状态处理功能). 3.把协程封装成Task,加入一个队列等待调用.刚创建Task的时候不执行,遇到await就执行. 实例 import asyncio async def func(): print(1) await asyncio.sleep(

  • 理解python中装饰器的作用

    装饰器的作用就是用一个新函数封装旧函数(是旧函数代码不变的情况下增加功能)然后会返回一个新函数,新函数就叫做装饰器,一般为了简化装饰器会用语法糖@新函数来简化 例子: 这是一段代码,但功能太少,要对这个进行增强,但又不能改变代码. def hello(): return "hello world!" 现在我们的需求是要增强hello()函数的功能,希望给返回加上HTML标签,比如<i>hello world</i>,但要求我们不得改变hello()函数原来的定义

  • Python爬虫之Scrapy环境搭建案例教程

    Python爬虫之Scrapy环境搭建 如何搭建Scrapy环境 首先要安装Python环境,Python环境搭建见:https://blog.csdn.net/alice_tl/article/details/76793590 接下来安装Scrapy 1.安装Scrapy,在终端使用pip install Scrapy(注意最好是国外的环境) 进度提示如下: alicedeMacBook-Pro:~ alice$ pip install Scrapy Collecting Scrapy Usi

  • Python中return用法案例详解

    python中return的用法 1.return语句就是把执行结果返回到调用的地方,并把程序的控制权一起返回 程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return. 例如: def haha(x,y): if x==y: return x,y print(haha(1,1)) 已改正: 结果:这种return传参会返回元组(1, 1) 2.但是也并不意味着一个函数体中只能有一个return 语句,例如: def test_return(x): if x >

  • python之OpenCV的作用以及安装案例教程

    OpenCV的作用及安装 OpenCV简介 OpenCV是一个开源的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.提供了Python.Ruby.MATLAB等语言的接口,并且实现了图像处理和计算机视觉方面的很多通用算法,可以给开发者调用. OpenCV应用领域 计算机视觉领域方向 人机互动 物体识别 图像分割 人脸识别 动作识别 运动跟踪 机器人 运动分析 机器视觉 结构分析 汽车安全驾驶 OpenCV涉及的技术 图像数据的操作: 分配.释放.

  • Python基础之标准库和常用的第三方库案例教程

    Python基础:标准库和常用的第三方库 Python的标准库有: 名称 作用 datetime 为日期和时间处理同时提供了简单和复杂的方法. zlib 直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile. random 提供了生成随机数的工具. math 为浮点运算提供了对底层C函数库的访问. sys 工具脚本经常调用命令行参数.这些命令行参数以链表形式存储于 sys 模块的 argv 变量. glob 提供了一个函数用于从目录通配符搜索中生成文

  • Python爬虫中urllib3与urllib的区别是什么

    目录 urllib库 urllib.request模块 Request对象 1 . 请求头添加 2. 操作cookie 3. 设置代理 urllib.parse模块 urllib.error模块 urllib.robotparse模块 网络库urllib3 网络请求 GET请求 POST请求 HTTP响应头 上传文件 超时处理 urllib库 urllib 是一个用来处理网络请求的python标准库,它包含4个模块. urllib.request---请求模块,用于发起网络请求 urllib.p

  • python Django框架快速入门教程(后台管理)

    Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django 是一个开放源代码的 Web 应用框架,由 Python 写成. Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0 . Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template). 参考官方文档:Django官方文档https:

  • python实现图像处理之PiL依赖库的案例应用详解

    Python实现图像处理:PiL依赖库的应用 本文包含的练习题主要是PIL依赖库,即pillow相关的应用. 练习一:使用python给图片增加数字 实现思路: 使用PIL的Image.open导入图片. 获取图片的大小. 调用ImageDraw,在图片的指定位置写上数字. #coding=utf-8 #Auther by Alice #在图片的右上角增加一个数字 from PIL import Image,ImageFont,ImageDraw image = Image.open('/Use

  • python PaddleOCR库用法及知识点详解

    说明 1.PaddleOCR是基于深度学习的ocr识别库,中文识别精度相当还不错,能够应对大多数文字提取需求. 2.需要依次安装三个依赖库,shapely库可能会受到系统的影响,出现安装错误. 安装命令 pip install paddlepaddle pip install shapely pip install paddleocr 代码实现 ocr = PaddleOCR(use_angle_cls=True,) # 输入待识别图片路径 img_path = r"d:\Desktop\4A3

  • 利用Python多处理库处理3D数据详解

    今天我们将介绍处理大量数据时非常方便的工具.我不会只告诉您可能在手册中找到的一般信息,而是分享一些我发现的小技巧,例如tqdm与 multiprocessing​imap​​一起使用.并行处理档案.绘制和处理 3D 数据以及如何搜索如果您有点云,则用于对象网格中的类似对象.​ 那么我们为什么要求助于并行计算呢?如今,如果您处理任何类型的数据,您可能会面临与"大数据"相关的问题.每次我们有不适合 RAM 的数据时,我们都需要一块一块地处理它.幸运的是,现代编程语言允许我们生成在多核处理器

  • 对Python中gensim库word2vec的使用详解

    pip install gensim安装好库后,即可导入使用: 1.训练模型定义 from gensim.models import Word2Vec model = Word2Vec(sentences, sg=1, size=100, window=5, min_count=5, negative=3, sample=0.001, hs=1, workers=4) 参数解释: 1.sg=1是skip-gram算法,对低频词敏感:默认sg=0为CBOW算法. 2.size是输出词向量的维数,值

  • Python 数值区间处理_对interval 库的快速入门详解

    使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用.事实上,我们可以是用 interval 这一个库来完成我们需要的操作. 区间判断基础 最基础的区间判断操作就是先创建一个区间几个,然后使用 in 来判断一个数是否存在于区间之内.代码如下: from interval import Interval zoom_2_5 = Interval(2, 5)

  • Python pandas库中的isnull()详解

    问题描述 python的pandas库中有一个十分便利的isnull()函数,它可以用来判断缺失值,我们通过几个例子学习它的使用方法. 首先我们创建一个dataframe,其中有一些数据为缺失值. import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(10,99,size=(10,5))) df.iloc[4:6,0] = np.nan df.iloc[5:7,2] = np.nan df.iloc[

  • Python常用库Numpy进行矩阵运算详解

    Numpy支持大量的维度数组和矩阵运算,对数组运算提供了大量的数学函数库! Numpy比Python列表更具优势,其中一个优势便是速度.在对大型数组执行操作时,Numpy的速度比Python列表的速度快了好几百.因为Numpy数组本身能节省内存,并且Numpy在执行算术.统计和线性代数运算时采用了优化算法. Numpy的另一个强大功能是具有可以表示向量和矩阵的多维数组数据结构.Numpy对矩阵运算进行了优化,使我们能够高效地执行线性代数运算,使其非常适合解决机器学习问题. 与Python列表相比

  • python中selenium库的基本使用详解

    什么是selenium selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等.selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid). S

  • Python数学建模PuLP库线性规划实际案例编程详解

    目录 1.问题描述 2.用PuLP 库求解线性规划 2.1 问题 1 (1)数学建模 (2)Python 编程 (3)运行结果 2.2 问题 2 (1)数学建模 (2)Python 编程 (3)运行结果 2.3 问题 3 (1)数学建模 (2)Python 编程 (3)运行结果 2.4 问题 4 (1)数学建模 (2)Python 编程 (3)运行结果 2.5 问题 5:整数规划问题 (1)数学建模 (2)Python 编程 (3)运行结果 1.问题描述 某厂生产甲乙两种饮料,每百箱甲饮料需用原

  • Python数学建模PuLP库线性规划入门示例详解

    目录 1.什么是线性规划 2.PuLP 库求解线性规划 -(0)导入 PuLP库函数 -(1)定义一个规划问题 -(2)定义决策变量 -(3)添加目标函数 -(4)添加约束条件 -(5)求解 3.Python程序和运行结果 1.什么是线性规划 线性规划(Linear programming),在线性等式或不等式约束条件下求解线性目标函数的极值问题,常用于解决资源分配.生产调度和混合问题.例如: max fx = 2*x1 + 3*x2 - 5*x3 s.t. x1 + 3*x2 + x3 <=

随机推荐