Matlab - como guardar datos de matlab en tiempo real a un excel

   
Vista:

como guardar datos de matlab en tiempo real a un excel

Publicado por fernando (3 intervenciones) el 18/03/2013 21:11:54
la cuestion aqui es que, tengo un programa que detecta el color rojo donde me arroja valores tanto de x como de y, necesito guardar estos valores en un solo excel para posterior mente graficar, lo que me pasa es que cada vez que detecta una "x" y una "y" diferente me crea un nuevo excel lo cual no me sirve necesito que aparescan estos valores en solo un excel. este es el codigo

%prueba
vid=videoinput('winvideo',2,'RGB24_640x480');
set(vid, 'FramesPerTrigger', Inf);
set(vid, 'ReturnedColorspace', 'rgb')
vid.FrameGrabInterval = 4;
start(vid)
while(vid.FramesAcquired<=50)
data = getsnapshot(vid);
diff_im = imsubtract(data(:,:,1), rgb2gray(data));
diff_im = medfilt2(diff_im, [3 3]);
diff_im = im2bw(diff_im,0.18);
diff_im = bwareaopen(diff_im,300);
bw = bwlabel(diff_im, 8);
stats = regionprops(bw, 'BoundingBox', 'Centroid');
imshow(data)
hold on
for object = 1:length(stats)
bb = stats(object).BoundingBox;
bc = stats(object).Centroid;
rectangle('Position',bb,'EdgeColor','b','LineWidth',2)
plot(bc(1),bc(2), '-m+')
a=text(bc(1)+15,bc(2), strcat('X: ', num2str(round(bc(1))), ' Y: ', num2str(round(bc(2)))));
set(a, 'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12, 'Color', 'blue');
%[XXX YYY]=deal(round(bc(1)),round(bc(2)));

e = actxserver ('Excel.Application'); %ActiveX de Excel
e.Visible = 1; % aparece Excel
eWorkbooks = e.Workbooks; % nuevo libro de Excel
w = eWorkbooks.Add; % se crea el libro
ExcelRange = Range(e,'A1:B1');
set(ExcelRange,'Value', { 'Columna 1', 'Columna 2' } );
ExcelRange = Range(e,'A2:B97');
set(ExcelRange,'Value', [bc(1),bc(2)]);

end
hold off
end
stop(vid);
flushdata(vid);
clear all
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder