MATLAB 이미지 처리 기초

imread()

이미지 불러오기

이미지 업로드 없이 peppers 이미지


img = imread("peppers.png");
imshow(img);

3

첫째 줄 처럼 코드 작성 시 따로 이미지를 업로드 하지 않고 pepper 이미지를 사용할 수 있다.

4 찾아보니 MATLAB example data sets에서 peppers 뿐만 아니라 다양한 이미지와 다양한 확장자 형태의 데이터를 제공한다.

https://kr.mathworks.com/help/matlab/import_export/matlab-example-data-sets.html#mw_d7b7b839-5281-47b0-a838-6c6fe5ec32c2

링크 보면 일부 데이터와 각 확장자 별 load 하는 간단한 코드까지 설명 되어있다.

더 많은 데이터 확인하고 싶은 경우 하단 링크 참고
https://kr.mathworks.com/matlabcentral/answers/54439-list-of-builtin-demo-images

내 이미지 사용하기

2

내가 다운받은 이미지를 사용하고 싶으면 화면 좌측에 원하는 이미지 drag and drop 후 이전과 동일하게 사용한다.


img = imread("clouds.jpg");
imshow(img);

1 (내가 다운받은 이미지)

image(), imshow()

image()

6


img = imread("ngc6543a.jpg");
image(img);

imshow()

5


img = imread("ngc6543a.jpg");
imshow(img);

같은 이미지인데 출력 형태가 조금 다르다.

sublplot(), subimage()

subplot document

한 화면에 여러 이미지

7


i1 = imread("ngc6543a.jpg");
i2 = imread("m83.tif");
i3 = imread("moon.tif");

subplot(1,3,1), subimage(i1);
subplot(1,3,2), subimage(i2);
subplot(1,3,3), subimage(i3);

(subimage는 권장되지 않는다고 한다.)

MATLAB 공식 사이트에서, subimage 대신 imshow를 tiledlayout과 사용하는 것을 권장한다. tiledlayout document

disp(), fprintf()

8

9

위와 같이 사용한다.
fprintf가 다른 언어에서 많이 사용하던 형태.

disp document
fprintf document

배열이 비어 있는지, 스칼라인지, 행렬인지 판별하려면 isempty, isscalar, ismatrix를 사용합니다. isrow 함수와 iscolumn 함수로 벡터 방향도 판별할 수 있습니다.

출처: 공식 사이트 https://kr.mathworks.com/help/matlab/index.html?s_tid=CRUX_lftnav