반응형
이번 포스팅은 매트랩에서 동적 이미지 GIF 파일을 생성하는 방법을 소개하겠습니다. 매트랩에서 Figure 창을 스캔해서 저장하는 방식이며 함수 형태로 저장해두면, 그때그때 세미나나 평가 결과 등의 첨부자료로 쉽게 사용하실 수 있습니다.
0. 선행 예제
plot, drawnow, cla 등과 같이 figure를 화면에 띄우는 매트랩 기본함수가 익숙하시지 않다면 이전 포스팅을 참고하셔도 좋을 것 같습니다.
deep-eye.tistory.com/8?category=401244
1. 매트랩 코드
% *********************************************
% GIF_IMAGE_GENERATER_2D
% Deep.I Inc.
% https://deep-eye.tistory.com
% deepi.contact.us@gmail.com
% *********************************************
filename = 'test.gif'; % 저장될 gif 파일 이름
figure(1); % figure 생성
% 프레임 수
for i = 1:30
cla
% imshow()
drawnow
% figure에서의 frame을 가져욤
frame = getframe(1);
% 가져온 frame을 image로 변화시킴
img = frame2im(frame);
% index화된 이미지로 변화시킴
[imind cm] = rgb2ind(img,256);
if i == 1
%% n 회 반복 + 1/24초의 딜레이를 가지는 gif 생성. 무한 반복은 inf로 함
imwrite(imind,cm,filename,'gif','Loopcount',1,'DelayTime',1/24);
else
%% 똑같은 파일에 추가를 할 것이므로 append로 함
imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',1/24);
end
end
핵심은 1. figure를 사전에 지정해주는 것과 imshow()나 plot() 함수 이후 figure 창을 이미지로 전 처리하는 과정입니다. figure를 그대로 저장하다 보니 코드가 진행 중일 때 창을 변형시키면 gif에도 반영되는 것 같습니다. 보통 저는 gif로 변환된 파일을 꿀캠 같은 gif 편집 툴을 활용해서 속도와 크기 등을 그림 1과 같이 2차적으로 편집하곤 합니다.
# Jetson 시리즈 응용 임베디드 머신러닝 시스템 제작
# 머신러닝 프로젝트 제작, 상담 및 컨설팅 / 머신러닝 접목 졸업작품 컨설팅
# email : deepi.contact.us@gmail.com
# site : www.deep-i.net
반응형
'Matlab' 카테고리의 다른 글
[Matlab] LIDAR 라이다 PCD (Point Cloud Data) 데이터 전처리 #1 KITTI DATASET 활용 (0) | 2020.12.10 |
---|---|
[Matlab] 다층 퍼셉트론(MLP)을 이용한 MNIST 손글씨 인식 알고리즘 구현 (0) | 2020.12.05 |
[MATLAB] 클러스터링 (군집화) 기법 구현을 위한 기본 2D 데이터셋 모음 (0) | 2020.11.26 |
[Matlab] K-Means Clustering (K-평균 군집화) 알고리즘 구현하기 (0) | 2020.11.24 |
[Matlab] 매트랩을 이용한 다층신경망 (Multi-Layer Perceptron: MLP) 구현하기 (XOR 문제) (0) | 2020.11.01 |