2016年11月10日 星期四
2016年9月16日 星期五
自動儲存繪圖結果的圖形(AutoSaveFigure)
% 省略了很多MATLAB的GUI宣告(Source Code不完整)
% 在GUI裡使用了一個axes
posit = get(handles.figure1,'Position');
set(handles.figure1,'Color',[1 1 1]); % 設背景顏色為白色
set(handles.axes1,'Position',[6 2 posit(3)-8 posit(4)-2.5]); % Position中的數值為圖形的調整參數
for i = 3:10
y = magic(i);
plot([1:length(y(:))], y(:))
drawnow;
im = getframe(handles.figure1); % 擷取畫面
imwrite(uint8(im.cdata),[num2str(i) '.png']);
end
% 圖形將存成3.png ~ 10.png
% 在GUI裡使用了一個axes
posit = get(handles.figure1,'Position');
set(handles.figure1,'Color',[1 1 1]); % 設背景顏色為白色
set(handles.axes1,'Position',[6 2 posit(3)-8 posit(4)-2.5]); % Position中的數值為圖形的調整參數
for i = 3:10
y = magic(i);
plot([1:length(y(:))], y(:))
drawnow;
im = getframe(handles.figure1); % 擷取畫面
imwrite(uint8(im.cdata),[num2str(i) '.png']);
end
% 圖形將存成3.png ~ 10.png
此外, 也可以使用script方式產生, 程式碼如下:
h1 = figure('Position', [10 10 450 300], 'Menubar', 'none', 'Name', 'AutoSave_figure');
set(h1, 'Color', 'white') % 設背景顏色為白色
for i = 3:10
y = magic(i)
plot([1:max(y(:))], y(:));
drawnow;
im = getframe(h1); % 擷取畫面
imwrite(uint8(im.cdata),[num2str(i) '.png']);
end
2016年6月13日 星期一
Image 2 Symbol_image(將圖片變成符號組成的圖片)
% 省略了很多MATLAB的GUI宣告(Source Code不完整)
% 在GUI裡使用了一個axes
x = imread('test.bmp');
n = 7;
z = zeros(ceil([length(x(:,1,1))/n,length(x(1,:,1))/n]));
y = ones(ceil([length(x(:,1,1))/n,length(x(1,:,1))/n])*n)*255;
y(1:size(x,1),1:size(x,2)) = rgb2gray(x);
z = z'; y = y';
u = char(z);
for i = 1:length(y(:,1))/n
for j = 1:length(y(1,:))/n
z(i,j) = mean(mean(y((i-1)*n+1:i*n,(j-1)*n+1:j*n)));
end
end
mi = min(z(:));
d = (max(z(:)) - mi)/6; %level = 6
u(find(z < mi+d)) = '@';
u(find(z >= mi+d & z < mi+2*d)) = 'm';
u(find(z >= mi+2*d & z < mi+3*d)) = 'n';
u(find(z >= mi+3*d & z < mi+4*d)) = 'v';
u(find(z >= mi+4*d & z < mi+5*d)) = '/';
u(find(z >= mi+5*d)) = '.';
set(handles.figure1,'Position',[90 50 size(z,1) size(z,2)/3]);
set(handles.axes1,'Position',[0 0 size(z,1) size(z,2)/3]);
drawnow;
for i = 1:length(u(:,1))
for j = 1:length(u(1,:))
text((i)/length(u(:,1)),(length(u(1,:))-j)/length(u(1,:)),u(i,j),'fontsize',4);
end
end
axis off
im = getframe(handles.figure1); % 擷取畫面
[filename, pathname] = uiputfile({'*.bmp','BMP-files (*.bmp)';'*.jpg','JPEG (*.jpg)';'*.tif','TIF (*.tif)';'*.*','All Files (*.*)'},'Pick a file');
imwrite(uint8(im.cdata),[pathname filename]);
% 在GUI裡使用了一個axes
x = imread('test.bmp');
n = 7;
z = zeros(ceil([length(x(:,1,1))/n,length(x(1,:,1))/n]));
y = ones(ceil([length(x(:,1,1))/n,length(x(1,:,1))/n])*n)*255;
y(1:size(x,1),1:size(x,2)) = rgb2gray(x);
z = z'; y = y';
u = char(z);
for i = 1:length(y(:,1))/n
for j = 1:length(y(1,:))/n
z(i,j) = mean(mean(y((i-1)*n+1:i*n,(j-1)*n+1:j*n)));
end
end
mi = min(z(:));
d = (max(z(:)) - mi)/6; %level = 6
u(find(z < mi+d)) = '@';
u(find(z >= mi+d & z < mi+2*d)) = 'm';
u(find(z >= mi+2*d & z < mi+3*d)) = 'n';
u(find(z >= mi+3*d & z < mi+4*d)) = 'v';
u(find(z >= mi+4*d & z < mi+5*d)) = '/';
u(find(z >= mi+5*d)) = '.';
set(handles.figure1,'Position',[90 50 size(z,1) size(z,2)/3]);
set(handles.axes1,'Position',[0 0 size(z,1) size(z,2)/3]);
drawnow;
for i = 1:length(u(:,1))
for j = 1:length(u(1,:))
text((i)/length(u(:,1)),(length(u(1,:))-j)/length(u(1,:)),u(i,j),'fontsize',4);
end
end
axis off
im = getframe(handles.figure1); % 擷取畫面
[filename, pathname] = uiputfile({'*.bmp','BMP-files (*.bmp)';'*.jpg','JPEG (*.jpg)';'*.tif','TIF (*.tif)';'*.*','All Files (*.*)'},'Pick a file');
imwrite(uint8(im.cdata),[pathname filename]);
原圖
結果
訂閱:
文章 (Atom)