Loading...
2024. 4. 22. 02:43

딥러닝 중 UnidentifiedImageError: cannot identify image file 의 에러가 나올때

dataloader에서 이미지를 뽑아 모델에 넣어 성능 평가를 하려고 하는데.. PIL.UnidentifiedImageError: cannot identify image file 이런 에러가 나는데 /content/notMNIST_large/D/VHJhbnNpdCBCb2xkLnR0Zg==.png 파일에 무슨 문제가 있는 것이 아닐까? 생각을 해봤다 os.listdir로 일단 파일이 실제 있는지 확인을 해본다 그래서 PIL.Image.open을 이용해서 open을 해보려고 하면 다른 파일로 한번 open을 해보면 문제 없이 열리긴 한다 파일이 있다는 것은 확인했는데.. 안열린다면.. 그 파일이 문제겠지 os.path.getsize()는 해당 경로의 파일의 용량을 알려준다 0바이트라 데이터 파일이 깨져있나보..

2023. 11. 7. 12:21

pytorch의 tensor를 plt.imshow()했더니 TypeError: Invalid shape for image data

https://velog.io/@olxtar/Torchvision-PIL-torch.Tensor-PIL-Image [Torchvision / PIL] torch.Tensor PIL Image PIL/Numpy Array/Torch Tensor 이미지끼리 변환하기 / torchvision.transforms.ToTensor() / torchvision.transforms.ToPILImage velog.io PIL이나 opencv로 이미지를 열때는 (height, width, channel) 순으로 shape를 가지게 된다 img = Image.open('/content/karina.jpeg') img2 = cv2.imread('/content/karina.jpeg') print(np.array(img).s..

2023. 11. 7. 11:44

opencv와 PIL이 이미지를 저장하는 방식의 차이

opencv는 컬러 이미지를 BGR로 저장하는데, PIL은 RGB로 저장한다 그래서 동일한 이미지를 opencv로 read할때와 PIL로 open할때 plt.imshow()하면 보이는게 다르다 from imageio import imread from PIL import Image import cv2 import matplotlib.pyplot as plt #opencv를 이용하여 이미지 load 후 시각화 img = cv2.imread(kitten_path) plt.imshow(img) plt.show() opencv로 열면 파란색이 먼저 보임 # PIL을 이용하여 이미지 load후 시각화 img_ = Image.open(kitten_path) plt.imshow(img_) plt.show() #imag..