매트랩을 통한 기본 영상(Image) 처리 방법을 알아보도록 하자.
1) 이미지 확장자명 바꾸기
기본적으로 매트랩은 파일 확장자명 변환이 자유롭다.
왼쪽 사진과 같이 파일이 저장된 것을 확인할 수 있다.
영상 출력 결과:
cameraman.tif | cameraman.jpg |
블로그에서 tif 형식 지원을 안하나 보다... |
![]() |
cameraman.png | cameraman.bmp |
![]() |
![]() |
2) 이진 영상 변환
im2bw라는 함수를 이용하여 간단하게 이진화를 할 수 있다.
앞서 진행한 변수 'v'에 “cameraman.tif” 파일이 저장되어 있다.
그 파일을 0.5 * 255 = 127.5를 임계값 설정 후 만들어진 이전 영상을 BW에 저장하였다.
영상 출력 결과:
3) 본인 사진을 인덱스 컬러 영상으로 변환
우선 ‘a’에 들어있는 ‘myprofile.png’사진은 RGB 형식으로 되어있는 것을 확인할 수 있다.
‘m’는 'png'에서 'tif'으로 형식만 변환한 같은 사진이다.
'rgb2ind' 함수를 통해 인덱스컬러 영상으로 변환을 진행한다.(32색의 인덱스 이미지)
그 후, 출력해보면 밑의 사진과 같은 결과가 나온다.
인덱스 컬러 영상으로 변환되어 RGB 값이 0~1 사이의 소수점 값으로 표현되는 것을 확인할 수 있다.
4) 이미지 연산
우선 카메라맨 영상에 밝기 값 100을 더한 영상과 100을 뺀 영상을 확인해보자.
카메라맨 영상에 밝기 값 100을 더한 영상 | 카메라맨 영상에 밝기 값 100을 뺀 영상 |
![]() |
![]() |
이후, 카메라맨 영상에 8비트 영상 범위를 벗어난 값을 연산하면 어떻게 되나 확인해보자.
카메라맨 영상에 밝기 값 256을 더한 영상 | 카메라맨 영상에 밝기 값 256을 뺀 영상 |
![]() |
![]() |
결과는 보다시피 그저 흑, 백 사진으로 출력된다.
비교를 위해 255을 벗어나지 않는 230 밝기 값을 더한 결과로는 밑의 사진이 출력된다.
0~255의 값만 표현하는 방식에서 8비트 값을 넘어간다는 말은 0(흑) 혹은 255(백)의 영상으로 출력되는 결과가 나온다.