Jump to content
Fórum Script Brasil
  • 0

Ajuda com MatLab


Raphael Resende

Question

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

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...