Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com MatLab


Raphael Resende

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

exemplo:

function out=ABC(Xx) 

[Y TXx]=immoment(Xx); 
TXx 
A=imread('D:\matlab\work\image\A.bmp'); 

%figure,imshow(A); 
[Y,TA]=immatrix(A); 
%TA 

B=imread('D:\matlab\work\image\B.bmp'); 

%figure,imshow(B); 
[Y,TB]=immatrix(B); 
%TB 

C=imread('D:\matlab\work\image\C.bmp'); 

%figure,imshow(C); 
[Y,TC]=immatrix(C); 
%TC 

D=imread('D:\matlab\work\image\D.bmp'); 

%figure,imshow(D); 
[Y,TD]=immatrix(D); 
%TD 

E=imread('D:\matlab\work\image\E.bmp'); 

%figure,imshow(E); 
[Y,TE]=immatrix(E); 
%TE 

F=imread('D:\matlab\work\image\F.bmp'); 

%figure,imshow(F); 
[Y,TF]=immatrix(F); 
%TF 

G=imread('D:\matlab\work\image\G.bmp'); 

%figure,imshow(G); 
[Y,TG]=immatrix(G); 
%TG 

H=imread('D:\matlab\work\image\H.bmp'); 

%figure,imshow(H); 
[Y,TH]=immatrix(H); 
%TH 

I=imread('D:\matlab\work\image\I.bmp'); 

%figure,imshow(I); 
[Y,TI]=immatrix(I); 
%TI 

J=imread('D:\matlab\work\image\J.bmp'); 

%figure,imshow(J); 
[Y,TJ]=immatrix(J); 
%TJ 

K=imread('D:\matlab\work\image\K.bmp'); 

%figure,imshow(K); 
[Y,TK]=immatrix(K); 
%TK 

L=imread('D:\matlab\work\image\L.bmp'); 

%figure,imshow(L); 
[Y,TL]=immatrix(L); 
%TL 

M=imread('D:\matlab\work\image\M.bmp'); 

%figure,imshow(M); 
[Y,TM]=immatrix(M); 
%TM 

N=imread('D:\matlab\work\image\N.bmp'); 

%figure,imshow(N); 
[Y,TN]=immatrix(N); 
%TN 

O=imread('D:\matlab\work\image\O.bmp'); 
[Y,TO]=immatrix(O); 

P=imread('D:\matlab\work\image\P.bmp'); 
[Y,TP]=immatrix(P); 

Q=imread('D:\matlab\work\image\Q.bmp'); 
[Y,TQ]=immatrix(Q); 

R=imread('D:\matlab\work\image\R.bmp'); 
[Y,TR]=immatrix(R); 

S=imread('D:\matlab\work\image\S.bmp'); 
[Y,TS]=immatrix(S); 

T=imread('D:\matlab\work\image\T.bmp'); 
[Y,TT]=immatrix(T); 

U=imread('D:\matlab\work\image\U.bmp'); 
[Y,TU]=immatrix(U); 

V=imread('D:\matlab\work\image\V.bmp'); 
[Y,TV]=immatrix(V); 

W=imread('D:\matlab\work\image\W.bmp'); 
[Y,TW]=immatrix(W); 

X=imread('D:\matlab\work\image\X.bmp'); 
[Y,TX]=immatrix(X); 

Y=imread('D:\matlab\work\image\Y.bmp'); 
[Y,TY]=immatrix(Y); 

Z=imread('D:\matlab\work\image\Z.bmp'); 

%figure,imshow(N); 
[Y,TZ]=immatrix(Z); 
%TZ 

TT=[TA;TB;TC;TD;TE;TF;TG;TH;TI;TJ;TK;TL;TM;TN;TO;TP;TQ;TR;TS;TT;TU;TV;TW;TX;TY;TZ]; 
%TT 
tt=['A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z']; 

for i=1:26 
    if (abs(TXx(3)-TT(i, 3))<0.05) 
        %figure,imshow(Xx); 
        fprintf('This is');%tt(i)); 
        tt(i) 
        break 
    end 
end

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...