🧡 Programming/💻 Python(3)
-
[OpenCV] 이미지 ROI 마스크 적용 방법들, 컬러 마스크 중복 적용 하기 (x연산, bitwise, copyTo, addWeighted)
이미지를 플롯하다보면 다양한 방법으로 이미지 마스킹을 하고 싶을 때가 있다. 특히 segmentation과 같은 마스크를 같이 이용하는 네트워크를 이용하다보면 실제 gt mask와 pred mask를 효율적으로 플롯할 방법을 고민하게 된다. 매번 마스킹 방법을 검색하는 것이 너무 번거로워서 내가 자주 사용하는 마스킹 방법들을 총 망라해 보겠다. 💡 bitwise_and 💡 곱하기 연산 (x) 💡 copyTo 💡 addWeighted 💡 컬러 마스크 / 중복 마스크 적용 사용 마스크 이미지 사용한 이미지는 skimage에서 가져온 PIL이미지이므로 opencv에서 사용 할 수 있도록 numpy 배열로 바꾸고 이진화를 먼저 수행했다. horse_mask = cv2.cvtColor(np.array(images..
2023.02.18 -
[PyTorch] Custom Dataset 만들기
모델을 만들면 항상 커스텀 데이터셋을 만들게 된다. 왜냐면 나는 이미지 폴더로 데이터로드 하는 것을 싫어한다. 아래와 같이 사용하는 것인데 이미지 폴더를 바로 가져와서 데이터셋을 구성하는 편리함이 있긴 하지만 데이터셋 내에서 데이터를 다양하게 조합하고 싶을 때마다 데이터를 매번 새로운 폴더로 만들 수는 없다. from torchvision.datasets import ImageFolder from torch.utils.data import DataLoader dataset = ImageFolder(root='folder_path', transform=transforms.Compose([ transforms.ToTensor(), ])) data_loader = DataLoader(dataset, batch..
2023.02.18 -
[Matplotlib] 이미지 여러 장 plot 할 때 그리드,칸 나누기 & 그리드,칸 합치기(subplot,GridSpec,add_subplot)
매번 Matplotlib으로 이미지를 플롯하다보면 이미지 여러장 들을 동시에 플롯하고 싶은 경우가 있다. 나도 매번 항상 헷갈려서 찾아보는데 이번 기회에 좀 정리하려고 포스팅을 한다. matplotlib.pyplot 모듈의 subplot() 함수는 여러개의 그래프, 이미지를 하나의 그림에 나타내도록 한다. 나는 다음과 같이 import 한 후 사용하였다. import os import skimage import IPython.display from PIL import Image import numpy as np import cv2 import matplotlib import matplotlib.pyplot as plt from matplotlib.gridspec import GridSpec 그리드,칸 나..
2023.02.10