Python切片工具pillow用法示例
作者:tengxing007 发布时间:2021-12-08 21:17:26
标签:Python,pillow
本文实例讲述了Python切片工具pillow用法。分享给大家供大家参考,具体如下:
切片:使用切片将源图像分成许多的功能区域
因为要对图片进行切片裁剪,所以用到切片工具必不可少,在ubuntu下有很多的图片处理工具,如 GIMP(Ubuntu的下的Photoshop),shotwell,shotter等等。
但是我想吧一张图片剪裁下来,用那些工具不怎么方便(其实可能是我没有找到而已),于是上网搜索资料,发现各式各类的工具,其中发现了pollow这款工具。
算是Python下的一个模块吧,这个模块很强大,是一个图像处理库,有关pillow的介绍,可参考本站相关文章。
下面开始安装,其实很简单,使用pip进行:
pip install pillow
回车即可 没有pip安装pip,不知道pip的见我的博客:
下面说说怎么剪切,新建Python文件:
# coding=utf-8
from PIL import Image
import os
def mkdir(path):
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符号
path=path.rstrip("\\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)
# 判断结果
if not isExists:
# 如果不存在则创建目录
print path+' 创建成功'
# 创建目录操作函数
os.makedirs(path)
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print path+' 目录已存在'
return False
cnt = 0
imageName = 'mageStand.png'
pathName = 'mageStand'
img = Image.open(imageName)
ori_w,ori_h = img.size
row = 4
col = 4
for j in range(0, col):
Y = j*ori_h/col
Y_end = Y + ori_h/col
for i in range(0, row):
X = i*ori_w/row
X_end = X + ori_w/row
print X, X_end
if 8 == cnt:
pathName+="adv"
cnt = 0
mkdir(pathName)
fileName = '%s/a_%d.png' %(pathName, cnt)
img.crop((X, Y, X_end, Y_end)).save( fileName )
cnt+=1
imageName和pathName进行相应的替换即可,OK!完事!
本文参考文献:
https://www.jb51.net/article/137446.htm
https://www.jb51.net/article/137453.htm
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/tengxing007/article/details/54376925


猜你喜欢
- 目前,语音识别,即将语音内容转换为文字的技术已经比较成熟,遥想当时锤子发布会上展示的讯飞输入法语音识别,着实让讯飞火了一把。由于此类语音识别
- SQLServer数据库从高版本降级到低版本实例详解由于目前还广泛使用着SQLServer2000,很多公司又想使用新的SQLServer,
- 1. 语句块:{ }之间的部分即为BLOCK语句块。2. 条件语句:if ( expression ) BLOCK;if ( e
- 后台实时监控服务器的CUP与内存占用率的场景很常见,虽然没做过,但是着手写代码之前我真没想到会花2个多小时才最终实现。网上虽然搜 PHP C
- 我用的数据库是Access2000的,系统为Win2000 Advance Server.今天在程序调试中遇到了以下几个怪现象:1.如果Ac
- “Lightbox”是一个别致且易用的图片显示效果,它可以使图片直接呈现在当前页面之上而不用转到新的窗口。lightbox效果网络上有很多j
- tkinter获取复选框(Checkbutton)的值定义GUI:from tkinter import *# 初始化Tk()myWindo
- 本文记录了Anaconda2安装NLTK的方法,供大家参考,具体内容如下先看我的python和Anaconda版本启动anaconda命令窗
- 1. 原地交换两个数字Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例:x,y= 10,20print
- 本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考,具体如下:lexsort支持对数组按指定行或列的顺序排序
- 环境:Python+keras,后端为Tensorflow训练集:MNIST对于如何训练一个识别手写数字的神经网络,网上资源十分丰富,并且能
- 这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录。 先贴一个国内某大公司的代码: <script type="
- Python优越的灵活性和易用性使其成为最受欢迎的编程语言之一,尤其是对数据科学家而言。 这在很大程度上是因为使用Python处理大型数据集
- 我搜集了国内10几个电影网站的数据,里面近几十W条记录,用文本没法存,mongodb学习成本非常低,安装、下载、运行起来不会花你5分钟时间。
- 本文实例讲述了Python使用reportlab将目录下所有的文本文件打印成pdf的方法。分享给大家供大家参考。具体实现方法如下:# -*-
- 绘制八个子图import matplotlib.pyplot as pltfig = plt.figure()shape=['.
- 首先,来看每次处理一个字符的情况,可以有如下方法去实现:方法一: >>> a='
- 本文实例讲述了Python元组 tuple的概念与基本操作。分享给大家供大家参考,具体如下:元组 tuple元组 tuple的定义元组的创建
- mpvue使用# 全局安装 vue-cli$ npm install --global vue-cli# 创建一个基于 mpvue-quic
- 简介集合对象 set 是由具有唯一性的可哈希对象组成的无序多项集,如 list 不能哈希因此,不能作为 set 的一项。set 的常见用途包