Olá, estou aprendendo matlab e utilizo ele pra processamento de imagens. Minha dúvida é a seguinte: após tirar uma foto a partir de um software já feito em .m, ele abre uma janela para salvar. Gostaria de saber como automatizar esse processo, já salvando com nome e diretamente, sem precisar me perguntar. (por exemplo eu tiro uma foto e quero chamar ela de 1, a seguinte, de 2, e assim sucessivamente, por exemplo, atualizando automaticamente o nome do arquivo)
O código segue aqui
%Configura vídeo de input
%imaqtool
vid = videoinput('winvideo', 1, 'YUY2_640x480');% RGB24_640x480 ;320x240; YUY2_640x480
src = getselectedsource(vid);
%src.BacklightCompensation = 'on';
%src.FrameRate = '5.000';
%src.Zoom = 1; % 0..64
vid.FramesPerTrigger = 1;
vid.ReturnedColorSpace = 'grayscale';
vid.ROIPosition=[120 40 400 400];
%preview(vid);
%Abre a image para ver simultâneo o video e a captura
subplot(121)
axis([0 400 0 400], 'square')
h1 = image; % create image object
axis ij % flip the image
preview(vid,h1) % display 1st webcam preview
button = 'Yes'; % mantem ciclo de captura ativo
%mantem o programa aberto
n=1;
while (1)%(strcmp(button,'Yes'))
pause; %aguarda alguma tecla do usuário
subplot(122)
axis([0 400 0 400], 'square')
axis off;
rawimg = getsnapshot(vid); %capture one frame
image(rawimg);
%Detecção de bordas por sobel
%Isobel= edge(rawimg,'sobel');
%figure, imshow(Isobel);
%aplica filtro wth
%se=strel('square',41); %definição do tipo de tamanho do elemento estruturante
%Iwth=imtophat(rawimg,se);
%figure, imshow(Iwth);
[filename, pathname] = uiputfile('*.bmp' ,'Save as');% abre interface de gravação para usuário
A variável "n" foi uma tentativa de eu tentar atualizar o nome da foto, porém na linha "[filename, pathname] = uiputfile('*.bmp' ,'Save as');% abre interface de gravação para usuário"
não consigo colocar o n como filename '*.bmp', já tentei algo do tipo "n.bmp", porém fica somente o n e não o número equivalente àquela foto...
Question
Raphael Resende
Olá, estou aprendendo matlab e utilizo ele pra processamento de imagens. Minha dúvida é a seguinte: após tirar uma foto a partir de um software já feito em .m, ele abre uma janela para salvar. Gostaria de saber como automatizar esse processo, já salvando com nome e diretamente, sem precisar me perguntar. (por exemplo eu tiro uma foto e quero chamar ela de 1, a seguinte, de 2, e assim sucessivamente, por exemplo, atualizando automaticamente o nome do arquivo)
O código segue aqui
%Configura vídeo de input
%imaqtool
vid = videoinput('winvideo', 1, 'YUY2_640x480');% RGB24_640x480 ;320x240; YUY2_640x480
src = getselectedsource(vid);
%src.BacklightCompensation = 'on';
%src.FrameRate = '5.000';
%src.Zoom = 1; % 0..64
vid.FramesPerTrigger = 1;
vid.ReturnedColorSpace = 'grayscale';
vid.ROIPosition=[120 40 400 400];
%preview(vid);
%Abre a image para ver simultâneo o video e a captura
subplot(121)
axis([0 400 0 400], 'square')
h1 = image; % create image object
axis ij % flip the image
preview(vid,h1) % display 1st webcam preview
button = 'Yes'; % mantem ciclo de captura ativo
%mantem o programa aberto
n=1;
while (1)%(strcmp(button,'Yes'))
pause; %aguarda alguma tecla do usuário
subplot(122)
axis([0 400 0 400], 'square')
axis off;
rawimg = getsnapshot(vid); %capture one frame
image(rawimg);
%Detecção de bordas por sobel
%Isobel= edge(rawimg,'sobel');
%figure, imshow(Isobel);
%aplica filtro wth
%se=strel('square',41); %definição do tipo de tamanho do elemento estruturante
%Iwth=imtophat(rawimg,se);
%figure, imshow(Iwth);
[filename, pathname] = uiputfile('*.bmp' ,'Save as');% abre interface de gravação para usuário
if (strcmp(pathname,''))
else imwrite(rawimg, [pathname, filename]);
end;
%button = questdlg('Executar novamente ?','Duvida ?','Yes'); %manter o aplicativo aberto ?
n=n+1;
end;
closepreview;
delete(vid);
clear all;
A variável "n" foi uma tentativa de eu tentar atualizar o nome da foto, porém na linha "[filename, pathname] = uiputfile('*.bmp' ,'Save as');% abre interface de gravação para usuário"
não consigo colocar o n como filename '*.bmp', já tentei algo do tipo "n.bmp", porém fica somente o n e não o número equivalente àquela foto...
Agradeço a ajuda
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.