ex-image
Visualization 중심의 Octave 학습 예제
ex-pkg/ex-image.m
전체 코드
전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.
run("../startup.m")
pkg load image
% 예제 1: 이미지 로드 및 표시
% 이미지 파일 로드 (예: 'image.jpg' 파일)
img = imread('purple neon border circle 300.png');
% 예제 2: 이미지 그레이스케일로 변환
gray_img = rgb2gray(img);
% 예제 3: 이미지의 경계선 감지 (엣지 검출)
edge_img = edge(gray_img, 'Canny');
% 예제 4: 이미지를 회전 (90도)
rotated_img = imrotate(img, 90);
param_f = {"Size", [960, 960], "Name", "Image Manipulation"};
param_a = {
"XLabel", "", "Ylabel", "", ...
};
fig = figured(param_f);
ax = subplots(2, 2, param_a);
imshow(img, "parent", ax(1, 1));
imshow(gray_img, "parent", ax(1, 2));
imshow(edge_img, "parent", ax(2, 1));
imshow(rotated_img, "parent", ax(2, 2));
set(ax(1, 1), "title", "원본 이미지");
set(ax(1, 2), "title", "그레이스케일 이미지");
set(ax(2, 1), "title", "엣지 감지 결과 (Canny 알고리즘)");
set(ax(2, 2), "title", "회전된 이미지");
# set(ax(1, 1), "position", [0.05, 0.52, 0.42, 0.42]); % 좌측 상단
# set(ax(1, 2), "position", [0.53, 0.52, 0.42, 0.42]); % 우측 상단
# set(ax(2, 1), "position", [0.05, 0.05, 0.42, 0.42]); % 좌측 하단
# set(ax(2, 2), "position", [0.53, 0.05, 0.42, 0.42]); % 우측 하단
코드 해설
목적
Visualization 중심의 Octave 학습 예제
입력
- 스크립트 상단에서 정의한 파라미터/입력 데이터를 사용합니다.
출력
- 그래프/figure 출력
실행 흐름
- 초기화
- 데이터 준비
- 시각화
핵심 함수/주제
axsetimshowedgefiguredimreadimrotatergb2gray
실습 과제
- 축 범위와 라벨을 바꿔 그래프 해석성이 어떻게 달라지는지 확인해보세요.
- 핵심 함수 ax의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
- "초기화 -> 데이터 준비" 흐름을 함수 단위로 분리해 리팩터링해보세요.
학습 팁
- 입력 파일 경로가 현재 작업 디렉터리 기준인지 먼저 확인하세요.
같은 카테고리의 다른 코드
- ex-cms
ex-pkg/ex-cms.m - ex-control
ex-pkg/ex-control.m - ex-fmt
ex-pkg/ex-fmt.m - ex-fstring
ex-pkg/ex-fstring.m - ex-io
ex-pkg/ex-io.m - ex-optim
ex-pkg/ex-optim.m - ex-signal
ex-pkg/ex-signal.m - ex-statistics
ex-pkg/ex-statistics.m - ex-symbolic
ex-pkg/ex-symbolic.m - fmtf
ex-pkg/fmtf.m