برنامه نویسی

CenterCrop در Pytorch – جامعه Dev

برای من یک قهوه بخر

*یادداشت ها:

CenterCrop () می تواند یک تصویر را خرد کند ، همانطور که در زیر نشان داده شده است:

*یادداشت ها:

  • اولین استدلال برای اولیه سازی است size(نوع مورد نیاز:int یا tuple/list(int) یا اندازه ()): *یادداشت ها:
    • این است [height, width]بشر
    • باید باشد 1 <= xبشر
    • یک لیست/لیست باید 1D با 1 یا 2 عنصر باشد.
    • یک مقدار واحد (int یا tuple/list(int)) یعنی [size, size]بشر
  • استدلال اول است img(نوع مورد نیاز:PIL Image یا tensor(int)): *یادداشت ها:
    • تانسور باید 2D یا 3D باشد.
    • استفاده نکنید img=بشر
  • v2 توصیه می شود مطابق V1 یا V2 استفاده شود؟ از کدام یک باید استفاده کنم؟
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import CenterCrop

centercrop = CenterCrop(size=100)

centercrop
# CenterCrop(size=(100, 100))

centercrop.size
# (100, 100)

origin_data = OxfordIIITPet(
    root="data",
    transform=None
)

s1000_data = OxfordIIITPet( # `s` is size.
    root="data",
    transform=CenterCrop(size=1000)
    # transform=CenterCrop(size=[1000])
    # transform=CenterCrop(size=[1000, 1000])
)

s800_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=800)
)

s600_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=600)
)

s400_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=400)
)

s200_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=200)
)

s100_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=100)
)

s50_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=50)
)

s10_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=10)
)

s1_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=1)
)

s400_600_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=[400, 600])
)

s600_400_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=[600, 400])
)

s200_300_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=[200, 300])
)

s300_200_data = OxfordIIITPet(
    root="data",
    transform=CenterCrop(size=[300, 200])
)

import matplotlib.pyplot as plt

def show_images1(data, main_title=None):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    for i, (im, _) in zip(range(1, 6), data):
        plt.subplot(1, 5, i)
        plt.imshow(X=im)
    plt.tight_layout()
    plt.show()

show_images1(data=origin_data, main_title="origin_data")
show_images1(data=s1000_data, main_title="s1000_data")
show_images1(data=s800_data, main_title="s800_data")
show_images1(data=s600_data, main_title="s600_data")
show_images1(data=s400_data, main_title="s400_data")
show_images1(data=s200_data, main_title="s200_data")
show_images1(data=s100_data, main_title="s100_data")
show_images1(data=s50_data, main_title="s50_data")
show_images1(data=s10_data, main_title="s10_data")
show_images1(data=s1_data, main_title="s1_data")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=s400_600_data, main_title="s400_600_data")
show_images1(data=s600_400_data, main_title="s600_400_data")
show_images1(data=s200_300_data, main_title="s200_300_data")
show_images1(data=s300_200_data, main_title="s300_200_data")

# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, s=None):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    temp_s = s
    for i, (im, _) in zip(range(1, 6), data):
        plt.subplot(1, 5, i)
        if not temp_s:
            s = [im.size[1], im.size[0]]
        cc = CenterCrop(size=s) # Here
        plt.imshow(X=cc(im)) # Here
    plt.tight_layout()
    plt.show()

show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="s1000_data", s=1000)
show_images2(data=origin_data, main_title="s800_data", s=800)
show_images2(data=origin_data, main_title="s600_data", s=500)
show_images2(data=origin_data, main_title="s400_data", s=400)
show_images2(data=origin_data, main_title="s200_data", s=200)
show_images2(data=origin_data, main_title="s100_data", s=100)
show_images2(data=origin_data, main_title="s50_data", s=50)
show_images2(data=origin_data, main_title="s10_data", s=10)
show_images2(data=origin_data, main_title="s1_data", s=1)
print()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="s400_600_data", s=[400, 600])
show_images2(data=origin_data, main_title="s600_400_data", s=[600, 400])
show_images2(data=origin_data, main_title="s200_300_data", s=[200, 300])
show_images2(data=origin_data, main_title="s300_200_data", s=[300, 200])
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر


شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

شرح تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا