まず、オリジナルの写真が 10 枚オンラインでダウンロードされますさまざまなサイズ写真ランダムクロッピングの)
from PIL import Image import torchvision.transforms as transforms #使用PIL库读入图片并进行resize def ResizeImage(): if not os.path.exists(rdir): os.makedirs(rdir) for i in range(10): im = Image.open(dir+str(i)+".jpg") im = im.resize((320,240),Image.BILINEAR) #第一个参数为想要的size,第二个参数为插值方法,双线性插值这里用的是 im.save('{}/{}.jpg'.format(rdir, i))
操作 3: ランダム回転
#图像随机剪裁和中心剪裁 def crop(lib): for i in range(10): img = Image.open(lib+"/"+str(i)+".jpg") CenterCrop = transforms.CenterCrop((240,320)) #中心裁剪 cropped_image = CenterCrop(img) #PIL.Image.Image # im=np.array(cropped_image) #可以将PIL.Image.Image转成ndarry #cropped_image.show() #将图片显示 cropped_image.save('{}/cen_crop{}.jpg'.format(rdir, i)) RandomCrop = transforms.RandomCrop(size=(240, 320)) #随机剪裁 random_image = RandomCrop(img) random_image.save('{}/rand_crop{}.jpg'.format(rdir, i))操作 4: 反転
#随机旋转 def random_rotation(lib): for i in range(10): img = Image.open(lib+"/"+str(i)+".jpg") RR = transforms.RandomRotation(degrees=(10, 80)) #degrees为随机旋转的角度 rr_image = RR(img) rr_image.save('{}/rand_rotation{}.jpg'.format(rdir, i))
各行は上から下まで、サイズ変更、中央切り抜き、反転、ランダム切り抜き、ランダム回転の結果です
単一画像変換サイズ - img.resize()
これは私が学んだ簡単なプログラムで、jpg または png の画像のサイズを変更できます:#图片依概率翻转,p为翻转的概率 def horizontal_flip(lib): for i in range(10): img = Image.open(lib+"/"+str(i)+".jpg") HF = transforms.RandomHorizontalFlip(p=1.0) #p为概率,缺省时默认0.5 hf_image = HF(img) hf_image.save('{}/hori_flip{}.jpg'.format(rdir, i))この関数 img.resize ((幅, 高さ),Image.ANTIALIAS)
: 低品質
: バイリニア
: 3 次スプライン補間
: 高品質
以上がPython で画像のサイズ変更、切り抜き、回転、反転する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。