일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AI
- R
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.
- 패캠챌린지
- 패스트캠퍼스후기
- 직장인자기계발
- 한번에끝내는Java/Spring웹개발마스터초격차패키지
- 직장인인강
- 알버트
- 패스트캠퍼스
- SKT
- albert
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지
- Today
- Total
제주 탈출 일지
인공지능 실습(5주차) - 이미지와 openCV 본문
이 내용은 머신러닝에서 입력데이터로 이미지를 사용할 때 python에서 opencv를 사용하게 되기 때문에 배우는 것.
이미지의 종류
: 바이너리, 그레이 스케일 이미지, 컬러 이미지. 크게 3가지
바이너리 이미지 : 0 또는 1로만 픽셀을 표현
그레이 스케일 이미지 : 하나의 픽셀값을 0~255로 표현
컬러 이미지 : 한 픽셀당 0~255사이의 값을 3개 조합하여 표현
(컬러 스페이스 종류 : RGB, HSV 등)
여기서 HSV는 색은 1바이트만 표현하고 나머지 바이트는 명도와 채도를 표현함.
(이미지에서 한가지 색상만 추출하기 위해 컬러모델을 HSV로 변환하면 프로그램이 간단해지게 된다.)
이미지 데이터
는 3차원 배열로 처리한다. 형태는 [세로화소수][가로화소수][3(컬러채널)] 이다.
1920 * 1280 사진의 용량은 1920 * 1280 * 3채널 * 8bit = 약 7.4MB
(너무 크기때문에 jpg와 같은 용량 압축을 통해 가지고 있게된다.)
-> 머신러닝에서는 수없이 많은 이미지를 학습을 위해 사용하기 때문에 이미지 사이즈를 작게 다루어야 한다.
이미지를 img[3, 세로, 가로]와 같은 3차원 배열로 표현할 경우,
-> img[0,0,0] = 255(red) , img[1,0,0] = 0 (green) , img[2,0,0] = 255 (0,0 좌표의 3채널 값)
-> img[:, 0, 0] = [255,0,255]
이미지를 img[세로, 가로, 3]와 같은 3차원 배열로 표현할 경우, (보통 이 방법으로 처리함)
img[0,0] = [255,0,255]
openCV에서는 일반적으로 RGB 가 아니라 BGR로 처리를 한다.
matplotlib가 openCV와 컬러채널을 인식하는 것이 BGR이 아닌 RGB로 인식하기 때문에 그에 대한 처리를 해주어야 한다.
아래는 실습 ipynb이다.
'인공지능' 카테고리의 다른 글
인공지능 이론(3주차) - 신경망 학습 이론 Ⅰ (0) | 2020.11.07 |
---|---|
인공지능 이론(2주차) - 머신러닝과 딥러닝 (0) | 2020.11.07 |
인공지능 실습(6주차) - 모델을 구성하고 학습하기 1 (0) | 2020.10.10 |
인공지능 이론(6주차) - 학습 관련 기술 1 (0) | 2020.10.09 |
인공지능 이론(5주차) - 경사하강법과 오차역전파법 (0) | 2020.10.01 |