영상처리
사용목적에 따라 적절히 처리하여 개선된 영상을 생성하는것
노이즈제거, 대비(contrast)개선, 관심영역(region of interest)강조,영역분할(segmentation), 압축 및 저장
- 저수준 : 영상 획득, 향상, 복원 ,변환처리, 압축
- 고수준 (Computer Vision) : 영상 분할, 표현, 인식
Color Space : 색을 표현하는 다양한 방식. 색 공간
Channel : 각 컬러스페이스를 구성하는 단일 축
이미지 저장방식
- raster, bitmap : 각 점 하나하나의 색상 값을 저장하는 방식. (r, g, b) (255,255,255). 확대시 깨짐
- vector : 상대적인 점의 선의 위치를 방적식으로 기록 후 확대 및 축소할 때 각 픽셀의 값을 재계산하여 깨짐이 없음.
- 그 외 : YUV, HSV(Hue 색상, Saturation 채도, Value 명도), CMYK(Cyan, Magenta, Yellow, Black)
여러가지 확장자
- JPEG :
- 손실압축 (lossy compression) 사용
- 원본 영상으로부터 픽셀값이 미세하게 달라짐
- 파일 용량 크기가 크게 감소하는 점에서 장점
- 디지털 카메라
- PNG :
- Portable Network Graphics
- 스샷에 많이 사용됨
- 용량은 큰 편이나 픽셀값이 변경되지 않음
- 알파 채널을 지원하여 일부분 투명하게 설정 가능
- 이미지에 사용된 색상을 미리 정의해두고 그를 참조하는 팔레트 방식을 사용할 수 있기에, 사용된 색상이 적은 단순한 이미지의 경우 동일한 해상도의 JPEG 파일보다도 용량이 작을 수 있음. But, 사진과 같이 이미지에 사용된 색상이 많아지면 JPEG 파일보다 용량이 더 많아짐.
- GIF
- 움짤에 많이 사용.
- 무손실 압축 (losses compression)
- 움직이는 그림 animation 지원
- 256이하의 색상을 가진 영상만 저장하는 팔레트 방식으로 제한적
- 화질이 매우 떨어짐
기본이미지 다루기
- 이미지 생성 / 열기 / W,H 출력하기 / 확장자 바꾸기 / 사이즈 바꾸기 / 잘라내기
import numpy as np
from PIL import Image
# 이미지 생성
data = np.zeros([32, 32, 3], dtype=np.uint8)
data[:, :] = [255, 0, 0]
image = Image.fromarray(data, 'RGB')
image
# 이미지 열기
image_path = 'node13/pillow_practice.png'
img = Image.open(image_path)
img
# width와 height 출력
print(img.width)
print(img.height)
# JPG 파일 형식으로 저장해보기
new_image_path = 'node13/jpg_pillow_practice.png'
img = img.convert('RGB')
img.save(new_image_path)
# 이미지 사이즈 변경하기 (620, 425) >> (100(W), 200(H))
resized_image = img.resize((100,200))
resized_image_path = 'node13/pillow_practice_resized.png'
resized_image.save(resized_image_path)
resized_image
# 이미지 자르기 눈부분만 : 눈부분 box 좌표 (300, 100, 600, 400)
cropped_image = img.crop((300, 100, 600, 400))
cropped_image_path = 'node13/pillow_practice_cropped.png'
cropped_image.save(cropped_image_path)
cropped_image
728x90
'Study (Data Science) > ML' 카테고리의 다른 글
RFM(Recency, Frequency, Monetary) (0) | 2022.12.14 |
---|---|
EDA 노트 (0) | 2022.12.14 |
상관계수, 경사하강법, 손실함수, RMSE, 경사하강법, 선형회귀 (0) | 2022.12.09 |
CSV, XML, JSON (0) | 2022.12.08 |
문자열다루기, 정규표현식 (0) | 2022.12.08 |
댓글