일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- html/css
- 디버깅
- JDBC
- 자바
- 데이터베이스
- 중학1-1
- 자바스크립트심화
- 컴퓨터비전
- 자바스크립트
- JSP
- 상속
- 데이터분석
- 중학수학
- CSS
- 컴퓨터구조
- 개발일기
- 순환신경망
- 정보처리기사필기
- 오블완
- 파이썬
- c언어
- 자바 실습
- rnn
- SQL
- JSP/Servlet
- 연습문제
- 머신러닝
- 정보처리기사실기
- 혼공머신
- 딥러닝
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
컴퓨터 비전 2 - Gray와 Color 이미지 만들기 및 이진 이미지 처리하기 본문
이어서 이미지 실습을 진행해 볼 것이다.
Gray와 Color 이미지에 대하여
Gray 색상 정보는 이처럼 단채널로 되어 있다.
이러한 컬러맵은 매플롯립 시각화할 때 많이 사용한다. 이제 간단한 실습을 한번 진행해 보겠다.
컬러 맵 실습해 보기
왜 이 코드가 실행이 안되는지 한참 고민했는데 인덱스 배열이 잘못되었던 거였다. np.array()는 리스트나 튜플을 인수로 받아들여야 하는데, 현재 코드는 리스트를 중첩하지 않았기 때문에 오류가 발생했다. 이 부분을 수정해서 다시 코드를 짜보자.
맷플로립은 이미지 컬러맵으로 접근하기 때문에 노란색과 보라로만 표현된다. 앞의 컬러맵을 살펴보면 가장 왼쪽에 있는 값이 보라색이고 오른쪽이 노란색이다. 하지만 이 컬러맵을 바꿀 수도 있다.
여기에 다른 색깔을 선택할 수도 있다.
알록달록한 색깔로도 변경이 가능하다.
수업 시간에는 이미지를 출력하는 내용은 하지 않고 저장하는 것까지만 했지만, 난 이미지를 넣고 싶어서 코드를 추가해 보았다. 그러면 이 둘의 차이가 명확해진다.
앞의 코드는 이미지를 그레이스케일로 직접 읽었기 때문에, plt.imshow(img, cmap='gray')로 제대로 흑백 이미지를 표시할 수 있었다.
하지만 이 코드에서는 이미지를 컬러로 읽은 후 plt.imshow()로 표시하기 때문에, cmap='gray'를 사용하더라도 컬러 채널의 영향으로 인해 색상이 왜곡되어 보입니다. plt.imshow()는 이미지를 기본적으로 RGB로 해석하므로, BGR로 읽은 컬러 이미지를 제대로 표시하려면 RGB로 변환해야 한다.
value를 임의로 바꾸어줄 수 있다.
다음 실습은 이미지를 그레이스케일로 읽어 들인 후, 지정한 임계값(127)을 기준으로 이진화(Thresholding) 처리하여 흑백 이미지로 변환하고 화면에 표시하는 예제이다. 이진화는 이미지에서 특정 임계값보다 높은 값을 흰색(255)으로, 낮은 값을 검은색(0)으로 설정하여 명확하게 구분하는 기법이다.
이 코드로 127 이상의 픽셀 값은 흰색(255), 이하의 값은 검은색(0)으로 변환된 이진화 이미지를 볼 수 있습니다.
설정값을 바꾸어서 다양한 컬러로 만들 수 있다. 마스킹이나 예술적인 이미지로 만들 때 자주 사용되곤 한다.
학습을 마치고
'인공지능 > 컴퓨터 비전' 카테고리의 다른 글
컴퓨터 비전 4 - pafy로 유튜브 영상 연동 및 pytube로 유튜브 영상 다운로드하기 (0) | 2024.11.08 |
---|---|
컴퓨터 비전 3 - 동영상 읽고 출력하는 실습해보기 (0) | 2024.11.08 |
컴퓨터 비전 1 - 이미지 읽고 출력하는 실습해보기 (0) | 2024.11.08 |
OpenCV로 시작하는 컴퓨터 비전 11 - 연습문제 풀기 3 : 문제 7~9번 (1) | 2024.11.08 |
OpenCV로 시작하는 컴퓨터 비전 10 - 연습문제 풀기 2 : 문제 4~6번 (0) | 2024.11.08 |