*Memos:
- My post explains GaussianBlur() about
sigma
argument. - My post explains GaussianBlur() about
kernel_size=[a, b]
andsigma=50
. - My post explains OxfordIIITPet().
GaussianBlur() can randomly blur an image as shown below. *It's about kernel_size
argument:
*Memos:
- The 1st argument for initialization is
kernel_size
(Required-Type:int
ortuple
/list
(int
)): *Memos:- It's
[height, width]
. - It must be odd
1 <= x
. - A tuple/list must be the 1D with 1 or 2 elements.
- A single value(
int
ortuple/list
(int
)) means[kernel_size, kernel_size]
.
- It's
- The 2nd argument for initialization is
sigma
(Optional-Default:(0.1, 2.0)
-Type:int
,float
ortuple
/list
(int
orfloat
)): *Memos:- It's
[min, max]
so it must bemin <= max
. - It must be
0 < x
. - A tuple/list must be the 1D with 1 or 2 elements.
- A single value(
int
,float
ortuple/list
(int
orfloat
)) means[sigma, sigma]
.
- It's
- The 1st argument is
img
(Required-Type:PIL Image
ortensor
(int
/float
/complex
/bool
)): *Memos:- A tensor must be 1D or more D.
- Don't use
img=
.
-
v2
is recommended to use according to V1 or V2? Which one should I use?.
from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import GaussianBlur gb = GaussianBlur(kernel_size=5) gb = GaussianBlur(kernel_size=5, sigma=(0.1, 2)) gb # GaussianBlur(kernel_size=(5, 5), sigma=[0.1, 2.0]) gb.kernel_size # (5, 5) gb.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]) ) ks5_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=5) ) 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) ) ks5_51_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[5, 51]) ) ks51_5_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[51, 5]) ) ks1s01_data = OxfordIIITPet( # `s` is sigma. root="data", transform=GaussianBlur(kernel_size=1, sigma=0.1) ) ks5s01_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=5, sigma=0.1) ) ks11s01_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=11, sigma=0.1) ) ks51s01_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=51, sigma=0.1) ) ks101s01_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=0.1) ) ks5_51s01_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[5, 51], sigma=0.1) ) ks51_5s01_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[51, 5], sigma=0.1) ) ks1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=50) ) ks5s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=5, sigma=50) ) ks11s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=11, sigma=50) ) ks51s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=51, sigma=50) ) ks101s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=50) ) ks5_51s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[5, 51], sigma=50) ) ks51_5s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[51, 5], sigma=50) ) 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=ks5_data, main_title="ks5_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") show_images1(data=ks5_51_data, main_title="ks5_51_data") show_images1(data=ks51_5_data, main_title="ks51_5_data") print() show_images1(data=origin_data, main_title="origin_data") show_images1(data=ks1s01_data, main_title="ks1s01_data") show_images1(data=ks5s01_data, main_title="ks5s01_data") show_images1(data=ks11s01_data, main_title="ks11s01_data") show_images1(data=ks51s01_data, main_title="ks51s01_data") show_images1(data=ks101s01_data, main_title="ks101s01_data") show_images1(data=ks5_51s01_data, main_title="ks5_51s01_data") show_images1(data=ks51_5s01_data, main_title="ks51_5s01_data") print() show_images1(data=origin_data, main_title="origin_data") show_images1(data=ks1s50_data, main_title="ks1s50_data") show_images1(data=ks5s50_data, main_title="ks5s50_data") show_images1(data=ks11s50_data, main_title="ks11s50_data") show_images1(data=ks51s50_data, main_title="ks51s50_data") show_images1(data=ks101s50_data, main_title="ks101s50_data") show_images1(data=ks5_51s50_data, main_title="ks5_51s50_data") show_images1(data=ks51_5s50_data, main_title="ks51_5s50_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, ks=None, s=(0.1, 2)): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) if main_title != "origin_data": 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="ks5_data", ks=5) 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) show_images2(data=origin_data, main_title="ks5_51data", ks=[5, 51]) show_images2(data=origin_data, main_title="ks51_5_data", ks=[51, 5]) print() show_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="ks1s01_data", ks=1, s=0.1) show_images2(data=origin_data, main_title="ks5s01_data", ks=5, s=0.1) show_images2(data=origin_data, main_title="ks11s01_data", ks=11, s=0.1) show_images2(data=origin_data, main_title="ks51s01_data", ks=51, s=0.1) show_images2(data=origin_data, main_title="ks101s01_data", ks=101, s=0.1) show_images2(data=origin_data, main_title="ks5_51s01data", ks=[5, 51], s=0.1) show_images2(data=origin_data, main_title="ks51_5s01_data", ks=[51, 5], s=0.1) print() show_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="ks1s50_data", ks=1, s=50) show_images2(data=origin_data, main_title="ks5s50_data", ks=5, s=50) show_images2(data=origin_data, main_title="ks11s50_data", ks=11, s=50) show_images2(data=origin_data, main_title="ks51s50_data", ks=51, s=50) show_images2(data=origin_data, main_title="ks101s50_data", ks=101, s=50) show_images2(data=origin_data, main_title="ks5_51s50data", ks=[5, 51], s=50) show_images2(data=origin_data, main_title="ks51_5s50_data", ks=[51, 5], s=50)
Top comments (0)