필터 지우기
필터 지우기

Live display Speed using matlab

조회 수: 1 (최근 30일)
ahmed niri
ahmed niri 2017년 5월 5일
I am using a Photometrics evolve camera and have had trouble with the speed display of the images as time gets bigger. I am using matlab with the CMMCore library. My initial thought when coming to this problem is the readout frequency of the camera and or the efficiency of my code. The purpose of my code is not to register any picture but just to display and then discard (right away). My code looks like follow:
while (handles.mmc.isSequenceRunning())
xlim([1 120]);%Identify the X axis
hold on;
i=i+1;
if (handles.mmc.getRemainingImageCount()> 0)
img1 = handles.mmc.getLastImage;%Recieve the image
% img1 = handles.mmc.popNextImage;
[pixelType] = pixel(handles.mmc);%Define the pixel type, 8or16 bits. In our case it is 16
[img1] = camprop(handles.mmc, img1,pixelType);%Properties needed by the camera
img = transpose(img1);%Transpose the matrix to get the right picture
%%%First signal
sig(xp) = img(handles.X1,handles.Y1); %Knows the x and y coordinated and plots the signal
sig(1)=img(handles.X1,handles.Y1); %Define the first value of sig
%%%Second signal
sig2(xp) = img(handles.X2,handles.Y2);%Knows the x and y coordinated and plots the signal
sig2(1)=img(handles.X2,handles.Y2);%Define the first value of sig
Y =[sig(xp),sig(xp-1)]; %Signal 1 interpolation
Y2 =[sig2(xp),sig2(xp-1)]; %Signal 1 interpolation
X = [xp , xp-1]; % X value of signal 1 and 2 which was set in the begining of the while loop
axes(handles.axes1); % First axes where we will draw the first signal
%%%Ploting of the first signal
%%%%%%White rectangle that updates the signal
if (xp < 120)
rectangle('Position',[xpm1 0 3 3000],'FaceColor','w','EdgeColor','w');
end
plot(X,Y);
hold on;
drawnow;
%%%Potting of the second signal
xlim([1 120]) %Defining the limit for the X axis
hold on
axes(handles.axes2);
%%%%%%White rectangle that updates the signal
if (xp < 120)
rectangle('Position',[xpm1 0 3 3000],'FaceColor','w','EdgeColor','w');
end
plot(X,Y2);
hold on;
drawnow;
xp = xp+1;
xpm1 = xpm1+1;
if (xp > 120)
xp = 2;
xpm1 = 1;
end
tt = tt+1;
end
handles.mmc.getImageBufferSize()
end
Thank you in advance

답변 (0개)

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by