Comment : 2022-05-31 Udacity Project: Landmark Classification 진행 중!
Un-uniform, 즉 각각의 사이즈가 모두 상이한 이미지 데이터셋을 사용할때
torchvision.transforms.Compose([ ... ])
를 사용하여 일련의 Image Preprocess를 진행한다.그런데 실제로
.Resize
,.CenterCrop
이 어떻게 작업 되는건지와 넣어주는 parameter의 의미를 정확히 알지 못해서 해당 글에서 학습해보려함.[?] 결론적으로 Un-uniform한 이미지셋에
torchvision.transforms.Resize()
와torchvision.transforms.CenterCrop()
해주면 Uniform한 이미지셋이 되는건가?
[?] 작은 사이즈의 이미지에 더 큰Resize()
parameter값을 줘도 되나?
두 개의 이미지를
torchvision.transforms.Resize()
torchvision.transforms.CenterCrop()
하여 비교 해보려함.
첫번째 이미지 : img_1
, 사이즈는 800x600
두번째 이미지 : img_2
, 사이즈는 600x800
[+] 아래와 같이 object로 만들어놓고 사용해야함
resize = torchvision.transforms.Resize(256)
img_1_resize = resize(img_1)
img_2_resize = resize(img_2)
Resized 첫번째 이미지 : img_1_resize
, 사이즈는 341x256
Resized 두번째 이미지 : img_2_resize
, 사이즈는 256x341
Comment :
아torchvision.transforms.Resize()
는 이미지의 짧은 부분을 parameter로 주어진 값 (여기서는 256)으로 바꿔준다. 비율은 유지하면서!
if
- : 이미지의 width(넓이)
- : 이미지의 height(높이)
- : Resize에 주어진 parameter (1개의 값으로 주어졌을때!)
[+] 만약 2개의 값으로 이루어진 튜플을 넣을 경우 그 값에 맞게 사이즈 변경됨
[+] 아래와 같이 object로 만들어놓고 사용해야함
centercrop = torchvision.transforms.CenterCrop(256)
img_1_resize_crop = centercrop(img_1_resize)
img_2_resize_crop = centercrop(img_2_resize)
CenterCrop & Resized 첫번째 이미지 : img_1_resize_crop
, 사이즈는 256x256
CenterCrop & Resized 두번째 이미지 : img_2_resize_crop
, 사이즈는 256x256