transforms中RandomResizedCrop、Resize、CenterCrop的理解
生活随笔
收集整理的這篇文章主要介紹了
transforms中RandomResizedCrop、Resize、CenterCrop的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先要記住,transforms只能對PIL讀入的圖片進行操作,而且PIL和opencv只能讀取H * W * C形式的圖片
transforms.RandomResizedCrop(size) : 將原圖片隨機裁剪出一塊,再縮放成相應 (size*size) 的比例
import matplotlib.pyplot as plt from PIL import Image from torchvision import transformsfile_path = "./flower.jpg" img = Image.open(file_path) print("origin_img_size:", img.size) # (280, 320)trans = transforms.RandomResizedCrop(224) # 隨機裁剪,再縮放成 224×224 img1 = trans(img) print("隨機裁剪后的大小:", img1.size) # (224, 224)plt.subplot(1, 2, 1), plt.imshow(img) plt.subplot(1, 2, 2), plt.imshow(img1) plt.show()transforms.Resize(size):將圖片的短邊縮放成size的比例,然后長邊也跟著縮放,使得縮放后的圖片相對于原圖的長寬比不變。
如果想要resize成自己想要的圖片大小,可以直接使用transforms.Resize((size,size))
transforms.CenterCrop(size):從圖片中心開始沿兩邊裁剪,裁剪后的圖片大小為(size*size)
import matplotlib.pyplot as plt from PIL import Image from torchvision import transformsfile_path = "./flower.jpg" img = Image.open(file_path) print("origin_img_size:", img.size)trans = transforms.Compose([transforms.Resize((256, 256), Image.BILINEAR),transforms.CenterCrop(100)]) img1 = trans(img) print("隨機裁剪后的大小:", img1.size) plt.subplot(1, 2, 1), plt.imshow(img) plt.subplot(1, 2, 2), plt.imshow(img1) plt.show()總結
以上是生活随笔為你收集整理的transforms中RandomResizedCrop、Resize、CenterCrop的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2957):组件之间的参数传递
- 下一篇: [html] 举例说明实现文字贯穿线的