• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

권철민 교수님 질문이 있습니다.

22.02.10 14:38 작성 조회수 118

0

안녕하세요, 교수님. 이번 강의를 수강하면서 궁금한 점이 생겨 이렇게 글을 올리게 되었습니다. 그냥 받아들여도 될 것 같긴한데, 혹시 제가 잘못 알고 있는 부분이 있을까봐 실례를 무릅쓰고 질문을 드립니다ㅠ

 

다름이 아니라 고양이 사진의 shape을 확인해보니 channel의 갯수가 3개였고, 이 3개가 RGB임을 확인했습니다.

실제로 이 RGB를 확인해보고 싶어서 imshow로 확인해보았는데 거의 같은 색을 보였습니다. 혹시 이게 정상인걸까요..?

 

답변 2

·

답변을 작성해보세요.

0

김도원님의 프로필

김도원

질문자

2022.02.13

아 교수님, 이제 이해가 되는 부분입니다..ㅎㅎ
정성스러운 답변으로 설명해주셔서 정말 감사합니다!

0

안녕하십니까, 

3차원 배열에 image에서 특정 색상 채널만 뽑아내시기 위해서 image[:, :, 0] 과 같이 적용하시면 3차원 이미지 배열이 아니라 2차원 배열이 반환 됩니다. 즉 색상값이 Grayscale 값으로 되어 버립니다. 

imshow()는 2차원 이미지를 인자로 받으면 자동으로 grayscale과 같은 이미지로 변환하는데 default cmap이 'viridis'  여서 grayscale 형태로 변환되지 않고 그림에서 보시는 형태로 출력하게 됩니다. grayscale로 변환된 형태를 보시려면 imshow(image[:, :, 0], cmap='gray')

제 생각엔 원하시는 바가 빨간색으로 된 이미지, 파란색으로 된  이미지, 초록색으로 된 이미지를 얻고 싶으신 것 같습니다만 주어진 방식으로 가능하지 않습니다. 

만약 빨간색 이미지를 원하시면 image를 3차원으로 유지하되, R 채널 이미지 외에 나머지 채널값은 0 을 입력하시면 됩니다.