用Python將影象裁剪
阿新 • • 發佈:2018-11-27
用Python將影象裁剪
# -*- coding: utf-8 -*-
"""
Created on Tue May 15 19:08:03 2018
@author: win7
"""
import matplotlib.pyplot as plt
from PIL import Image
import random
im = Image.open("1.jpg")
# 圖片的寬度和高度
img_size = im.size
print("圖片寬度和高度分別是{}".format(img_size))
裁剪:傳入一個元組作為引數
元組裡的元素分別是:(距離圖片左邊界距離x, 距離圖片上邊界距離y,距離圖片左邊界距離+裁剪框寬度x+w,距離圖片上邊界距離+裁剪框高度y+h)
print (img_size) out = im.resize((300, 300)) # 改變大小 m,n = out.size w = m/4 h = n/4 for i in range(16): x = random.randint(0,m-w) y = random.randint(0,m-h) region = im.crop((x, y, x+w, y+h)) plt.imshow(region) region.save("new"+str(i)+".jpg") img0=Image.open('new0.jpg') img1=Image.open('new1.jpg') img2=Image.open('new2.jpg') img3=Image.open('new3.jpg') img4=Image.open('new4.jpg') img5=Image.open('new5.jpg') img6=Image.open('new6.jpg') img7=Image.open('new7.jpg') img8=Image.open('new8.jpg') img9=Image.open('new9.jpg') img10=Image.open('new10.jpg') img11=Image.open('new11.jpg') img12=Image.open('new12.jpg') img13=Image.open('new13.jpg') img14=Image.open('new14.jpg') img15=Image.open('new15.jpg') plt.figure(figsize=(8,8)) plt.suptitle("img") plt.subplot(4,4,1),plt.title("image0") plt.imshow(img0),plt.axis("off") plt.subplot(4,4,2),plt.title("image1") plt.imshow(img1),plt.axis("off") plt.subplot(4,4,3),plt.title("image2") plt.imshow(img2),plt.axis("off") plt.subplot(4,4,4),plt.title("image3") plt.imshow(img3),plt.axis("off") plt.subplot(4,4,5),plt.title("image4") plt.imshow(img4),plt.axis("off") plt.subplot(4,4,6),plt.title("image5") plt.imshow(img5),plt.axis("off") plt.subplot(4,4,7),plt.title("image6") plt.imshow(img6),plt.axis("off") plt.subplot(4,4,8),plt.title("image7") plt.imshow(img7),plt.axis("off") plt.subplot(4,4,9),plt.title("image8") plt.imshow(img8),plt.axis("off") plt.subplot(4,4,10),plt.title("image9") plt.imshow(img10),plt.axis("off") plt.subplot(4,4,11),plt.title("image10") plt.imshow(img5),plt.axis("off") plt.subplot(4,4,12),plt.title("image11") plt.imshow(img6),plt.axis("off") plt.subplot(4,4,13),plt.title("image12") plt.imshow(img7),plt.axis("off") plt.subplot(4,4,14),plt.title("image13") plt.imshow(img8),plt.axis("off") plt.subplot(4,4,15),plt.title("image14") plt.imshow(img8),plt.axis("off") plt.subplot(4,4,16),plt.title("image15") plt.imshow(img8),plt.axis("off")