给我买咖啡☕
*备忘录:
- 我的帖子解释了牛津iiitpet()。
gaussianblur()可以随机模糊图像,如下所示:
>*备忘录:
- >初始化的第一个参数是num_output_channels(必需类型:int或tuple/list(int)):
*备忘录:
- 是[高度,宽度]。
- 它一定是奇数1
- 元组/列表必须是具有1或2个元素的1d。 单个值(int或tuple/list(int))表示[num_output_channels,num_output_channels]。
初始化的第二个参数是sigma(可选默认:(0.1,2.0)-type:int或tuple/tuple/list(int)):
*备忘录:
-
- 是[min,max],所以必须是最小
必须是0 元组/列表必须是具有1或2个元素的1d。
单个值(int或tuple/list(int))表示[sigma,sigma]。
- 第一个参数是img(必需类型:pil图像或张量(int)): *备忘录:
- 建议根据v1或v2使用v2?我应该使用哪一个?
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import GaussianBlur
gaussianblur = GaussianBlur(kernel_size=1)
gaussianblur = GaussianBlur(kernel_size=1, sigma=(0.1, 2.0))
gaussianblur
# GaussianBlur(kernel_size=(1, 1), sigma=[0.1, 2.0])
gaussianblur.kernel_size
# (1, 1)
gaussianblur.sigma
# [0.1, 2.0]
origin_data = OxfordIIITPet(
root="data",
transform=None
)
ks1_data = OxfordIIITPet( # `ks` is kernel_size.
root="data",
transform=GaussianBlur(kernel_size=1)
# transform=GaussianBlur(kernel_size=[1])
# transform=GaussianBlur(kernel_size=[1, 1])
)
ks3_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=3)
)
ks5_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=5)
)
ks7_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=7)
)
ks9_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=9)
)
ks11_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=11)
)
ks51_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=51)
)
ks101_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101)
)
ks9_51_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[9, 51])
)
ks51_9_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[51, 9])
)
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.xticks(ticks=[])
plt.yticks(ticks=[])
plt.tight_layout()
plt.show()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=ks1_data, main_title="ks1_data")
show_images1(data=ks3_data, main_title="ks3_data")
show_images1(data=ks5_data, main_title="ks5_data")
show_images1(data=ks7_data, main_title="ks7_data")
show_images1(data=ks9_data, main_title="ks9_data")
show_images1(data=ks11_data, main_title="ks11_data")
show_images1(data=ks51_data, main_title="ks51_data")
show_images1(data=ks101_data, main_title="ks101_data")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=ks9_51_data, main_title="ks9_51_data")
show_images1(data=ks51_9_data, main_title="ks51_9_data")
# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, ks=None, s=(0.1, 2.0)):
plt.figure(figsize=[10, 5])
plt.suptitle(t=main_title, y=0.8, fontsize=14)
if ks:
for i, (im, _) in zip(range(1, 6), data):
plt.subplot(1, 5, i)
gb = GaussianBlur(kernel_size=ks, sigma=s)
plt.imshow(X=gb(im))
plt.xticks(ticks=[])
plt.yticks(ticks=[])
else:
for i, (im, _) in zip(range(1, 6), data):
plt.subplot(1, 5, i)
plt.imshow(X=im)
plt.xticks(ticks=[])
plt.yticks(ticks=[])
plt.tight_layout()
plt.show()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="ks1_data", ks=1)
show_images2(data=origin_data, main_title="ks3_data", ks=3)
show_images2(data=origin_data, main_title="ks5_data", ks=5)
show_images2(data=origin_data, main_title="ks7_data", ks=7)
show_images2(data=origin_data, main_title="ks9_data", ks=9)
show_images2(data=origin_data, main_title="ks11_data", ks=11)
show_images2(data=origin_data, main_title="ks51_data", ks=51)
show_images2(data=origin_data, main_title="ks101_data", ks=101)
print()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="ks9_51data", ks=[9, 51])
show_images2(data=origin_data, main_title="ks51_9_data", ks=[51, 9])





















