당니이
다은이의 컴퓨터 공부
당니이
전체 방문자
오늘
어제
  • 분류 전체보기 (140)
    • Achieved 👩🏻 (14)
      • 생각들 (2)
      • TIL (6)
      • Trial and Error (1)
      • Inspiration ✨ (0)
      • 미국 박사 준비 🎓 (1)
    • Computer Vision💖 (39)
      • Basic (9)
      • Video (5)
      • Continual Learning (7)
      • Generative model (2)
      • Domain (DA & DG) (5)
      • Multimodal (8)
      • Multitask Learning (1)
      • Segmentation (1)
      • Colorization (1)
    • RL 🤖 (4)
    • Autonomous Driving 🚙 (11)
      • Geometry (4)
      • LiDAR 3D Detection (1)
      • Trajectory prediction (2)
      • Lane Detection (1)
      • HDmap (3)
    • Linux (15)
    • PyTorch👩🏻‍💻 (10)
    • Linear Algebra (2)
    • Python (5)
    • NLP (11)
      • Article 📑 (1)
    • Algorithms 💻 (22)
      • Basic (8)
      • BAEKJOON (8)
      • Programmers (2)
    • ML (1)
      • 통계적 머신러닝(20-2) (1)
    • SQL (3)
    • 기초금융 💵 (1)

블로그 메뉴

  • 홈
  • About me

공지사항

인기 글

태그

  • dfs
  • NLP
  • domain adaptation
  • conda
  • 리눅스
  • CV
  • Incremental Learning
  • 백준
  • 알고리즘
  • Linux
  • 백트래킹
  • pytorch
  • LLM
  • CL
  • til
  • Python
  • domain generalization
  • continual learning
  • 코딩테스트
  • 자료구조

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
당니이

다은이의 컴퓨터 공부

[Python] Segmentation label 시각화하기 - 픽셀 값이 너무 작을 때
Python

[Python] Segmentation label 시각화하기 - 픽셀 값이 너무 작을 때

2022. 9. 5. 22:07
반응형

컴퓨터비전을 하다보면 segmentation label 픽셀값이 너무 작아서, imshow 등으로 시각화를 하면 잘 보이지 않을 때가 있다. 예를 들어서 binary segmentation이라 픽셀이 [0, 1]로 구성되는데, 이를 시각화하면 1은 너무 작은 픽셀 값이라 모두 검정 색으로 보이는 것이다. 따라서 이럴 때 시각화를 편하게 하는 두가지 방법을 기록해 놓으려고 한다. 

 

1. matplot imshow 이용하기 

편하게 matplot을 이용할 수 있다. 다음과 같이 말이다! 

import matplotlib.pyplot as plt
plt.imshow(array)

그럼 아래와 같이 가시적인 이미지를 얻을 수 있다. (lane detection dataset 이다) 

한가지 단점은, 가로 세로 축이 표시된다는 것이라 이러한 이미지를 저장하려고 할 때 조금 난처할 수 있다. 하지만 이럴 때는 다음과 같이 이용하면 된다. 

plt.savefig('savename.png')

 

2. 픽셀 값 Rescale하기 

다음은 PIL을 이용해 픽셀을 rescale해 시각화하는 방법이다. 

from PIL import Image 
label = put your array
rescaled = (255.0/label.max() * (label - label.min())).astype(np.uint8)
im = Image.fromarray(rescaled)

그러면 다음과 같은 흑백 그림을 얻을 수 있다. (참고로 시각화를 위해서는 int8 타입으로 바꿔줘야 한다.) 

반응형
저작자표시 (새창열림)

'Python' 카테고리의 다른 글

[Python] Python Class에 대한 기초 정리하기  (0) 2023.06.11
[Python] 디렉토리 내 특정 파일 삭제하기  (0) 2022.10.11
[Python] 디버거 pdb 사용법 - 이 좋은걸 지금 알았다니..  (0) 2022.09.27
[Python] shutil과 os로 디렉토리, 폴더 조작하기  (0) 2022.08.05
    'Python' 카테고리의 다른 글
    • [Python] Python Class에 대한 기초 정리하기
    • [Python] 디렉토리 내 특정 파일 삭제하기
    • [Python] 디버거 pdb 사용법 - 이 좋은걸 지금 알았다니..
    • [Python] shutil과 os로 디렉토리, 폴더 조작하기
    당니이
    당니이
    씩씩하게 공부하기 📚💻

    티스토리툴바