Octave Atelier

코드와 해설을 함께 읽는 학습 문서

Code Detail

ex-image

Visualization 중심의 Octave 학습 예제

ex-pkg/ex-image.m

목록으로

코드를 복사해 Octave에서 바로 실행할 수 있습니다.

카테고리

Package Drill

package-drill

코드 길이

39

lines

작성자

-

날짜 정보 없음

패키지

image

pkg load

전체 코드

39 lines

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 출력

실행 흐름

  1. 초기화
  2. 데이터 준비
  3. 시각화

핵심 함수

  • ax
  • set
  • imshow
  • edge
  • figured
  • imread
  • imrotate
  • rgb2gray

실습 과제

  • 축 범위와 라벨을 바꿔 그래프 해석성이 어떻게 달라지는지 확인해보세요.
  • 핵심 함수 ax의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
  • "초기화 -> 데이터 준비" 흐름을 함수 단위로 분리해 리팩터링해보세요.

학습 팁

  • 입력 파일 경로가 현재 작업 디렉터리 기준인지 먼저 확인하세요.

같은 카테고리 코드

이전 코드 ex-fstring 다음 코드 ex-io