图像处理(二)python将一张jpg裁剪为多张小图
借用crop方法
im.crop(box) ⇒ image
从当前的图像中返回一个矩形区域的拷贝。变量box是一个四元组,定义了左、上、右和下的像素坐标。用来表示在原始图像中截取的位置坐标,如box(100,100,200,200)就表示在原始图像中以左上角为坐标原点,截取一个100*100(像素为单位)的图像,为方便理解,如下为示意图box(b1,a1,b2,a2)。
但这个只能裁剪出一张图
又想到了random让他裁剪得随机起来
下面放代码
from PIL import Image
import random
im = Image.open("你的图片的路径地址.jpg")
img_size = im.size
m = img_size[0] #读取图片的宽度
n = img_size[1] #读取图片的高度
w = 10 #设置你要裁剪的小图的宽度
h = 10 #设置你要裁剪的小图的高度
for i in range(100): #裁剪为100张随机的小图
x = random.randint(0, m-w) #裁剪起点的x坐标范围
y = random.randint(0, n-h) #裁剪起点的y坐标范围
region = im.crop((x, y, x+w, y+h)) #裁剪区域
region.save("你想存储的位置加名字"+str(i)+".jpg") #str(i)是裁剪后的编号,此处是0到99
效果
原图
裁剪后的100张图
刚刚开始学python 如有错误 请谅解