위의 이미지는 3차원의 RGB컬러 데이터 (세로x가로x채널수: 4500 x 6000 x 3)를 나타냅니다.
만일 이미지가 grayscale 혹은 black & white 이라면 2차원 (MATLAB의 경우; 세로픽셀 x 가로픽셀)
의 데이터를 가지고, 컬러 이미지 이라면 3차원 (MATLAB의 경우; 세로픽셀 x 가로필셀 x 색상채널)의
데이터를 가지며, 색상채널은 R(빨강색) G(초록색) B(파랑색) 순서의 데이터를 표현합니다.
위 이미지는 본 블로그 맨밑 출처 1에 가셔서 다운로드 받을 수 있습니다.
이제 MATLAB에서 이미지를 Workspace로 불러와봅니다.
하나의 이미지를 불러오는 방법은 여러가지가 있고 자주 사용되는 4가지 방법을 소개합니다.
첫번째 방법. Import Wizard 이용
Current Folder 창에서 대상 이미지파일 선택후 마우스 우클릭 -> Import Data 클릭
Import Data를 클릭하면 Import Wizard가 실행되며 우측하단에 Finish 클릭
우측 workspace 창에 "NCI-jdfn7Z03Qa4" 라는 변수에 이미지 데이터가 load 되어 있음을 알수있습니다.
두번째 방법. imread( 'filename' ) - 현재 작업폴더의 이미지 파일을 불러오는 경우
img = imread('NCI-jdfn7Z03Qa4.jpg');
현재 작업중인 Current Folder에 대상 이미지파일이 존재하는 경우, 이미지 파일이름을
입력 파라메터로써 imread() 함수에 전달하면 원하는 변수명(위의경우 "img")에 불러온
이미지 데이터를 저장할 수 있습니다. ( 파일경로와 파일이름에 대소문자 주의!! )
세번째 방법. imread( 'path/filename' ) - 다른 폴더에 위치한 이미지 파일을 불러오는 경우
img = imread('images/coin.jpg');
위의 Current Folder 창에서 보듯이 'image_load' 와 'images' 라는 폴더에 각각 이미지 파일들이
위치한 경우 특정 폴더의 이미지 데이터를 workspace에 불러오기 위해서는 정확한 폴더와
파일이름을 입력 파라메터로써 imread( ) 함수에 지정해야 합니다.
img = imread('../images/coin.jpg');
만일, 현재 작업폴더가 'image_load' 이고 상위 폴더인 'images'의 'coin.jpg' 를 load 하려면,
파일경로 앞에 ' ../ ' 를 붙여주어야 합니다.
즉, ' ../images/coin.jpg' 를 imread( ) 함수의 입력 파라메터로써 지정합니다.
네번째 방법. Add to Path -> imread( 'filename' ) - 다른 폴더에 위치한 이미지 파일을 불러오는 경우
앞서 다른 폴더에 위치한 이미지 파일을 workspace에 불러오는 경우, 정확한 폴더의 이름과
이미지 파일 이름이 필요했습니다. 하지만 매번 full path를 입력하는것은 번거로울 따름입니다.
MATLAB은 현재 작업폴더가 아닌 다른곳에 위치한 폴더 또한 작업경로에 추가하는 'Add to Path'
기능을 제공합니다.
위와 같이 작업경로에 추가하고자 하는 폴더를 선택하고 마우스 우클릭 ->
펼쳐진 메뉴에서 'Add to Path' 선택 -> 소메뉴에서 'Selected Folders and Subfolder' 선택.
(소메뉴의 'Selected Folders' 를 선택하면 하위폴더를 작업경로에 추가하지 않습니다)
img = imread('coin.jpg');
이제는 경로명에 폴더이름을 입력하지 않아도 이미지 파일 이름만으로 workspace에 이미지 데이터를
load 할 수 있습니다.
만일 'Add to Path' 과정을 생략하고 이미지 파일 이름만으로 이미지 load 를 시도 한다면 Command
Window에는 error 메시지를 출력할 것입니다.
이미지 파일 출력
이번에는 workspace에 불러온 이미지 파일을 출력해 보겠습니다.
두번째 방법으로 불러온 이미지가 이미 "img" 라는 변수에 저장되어 있으므로 다음 코드로 출력할 수
있고, 첫번째 방법으로 불러운 이미지 변수는 파일 그 자체 이름과 동일하므로 밑의 주석처리된 코드와
같이 화면에 대상 이미지를 출력할 수 있습니다.
figure;
imshow(img)
% imshow('NCI-jdfn7Z03Qa4.jpg')
출처1: https://unsplash.com/photos/jdfn7Z03Qa4
Published on September 7, 2021.6 Free to use under the Unsplash License
사진 작가: National Cancer Institute, Unsplash
Cells from cervical cancer – Splash에서 National Cancer Institute의 이 사진 다운로드
unsplash.com
Published on September 7, 2021Free to use under the Unsplash License