MATLAB 이미지 처리 기초
matlab
MATLAB 이미지 처리 기초
imread()
이미지 불러오기
이미지 업로드 없이 peppers 이미지
img = imread("peppers.png");
imshow(img);
첫째 줄 처럼 코드 작성 시 따로 이미지를 업로드 하지 않고 pepper 이미지를 사용할 수 있다.
찾아보니 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
내 이미지 사용하기
내가 다운받은 이미지를 사용하고 싶으면 화면 좌측에 원하는 이미지 drag and drop 후 이전과 동일하게 사용한다.
img = imread("clouds.jpg");
imshow(img);
(내가 다운받은 이미지)
image(), imshow()
image()
img = imread("ngc6543a.jpg");
image(img);
imshow()
img = imread("ngc6543a.jpg");
imshow(img);
같은 이미지인데 출력 형태가 조금 다르다.
sublplot(), subimage()
한 화면에 여러 이미지
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()
위와 같이 사용한다.
fprintf가 다른 언어에서 많이 사용하던 형태.
disp document
fprintf document
배열이 비어 있는지, 스칼라인지, 행렬인지 판별하려면 isempty, isscalar, ismatrix를 사용합니다. isrow 함수와 iscolumn 함수로 벡터 방향도 판별할 수 있습니다.
출처: 공식 사이트 https://kr.mathworks.com/help/matlab/index.html?s_tid=CRUX_lftnav