MATLAB Answers

To take pictures from FLIR (Cx series) camera every 30 secs

11 views (last 30 days)
Jubin Mathai
Jubin Mathai on 30 Jul 2019
Commented: Jubin Mathai on 30 Jul 2019
Below is part of the sample code from FLIR atlas SDK for Matlab (GUI test). I needed the FLIR IR camera to automatically take pictures at timed intervals (every 30 secs). How can I create a loop to make the camera to take pictures every 30 secs?
if(strcmp(char(disc.Item(index_selected-1).SelectedStreamingFormat),'FlirFileFormat'))
%It is FlirFileFormat init a ThermalCamera
ImStream = Flir.Atlas.Live.Device.ThermalCamera(true);
ImStream.Connect(disc.Item(index_selected-1));
%save the stream
handles.ImStream = ImStream;
handles.stop = 1;
guidata(hObject,handles)
%set the Iron palette
pal = ImStream.ThermalImage.PaletteManager;
ImStream.ThermalImage.Palette = pal.Iron;
%read x y position
x = str2num(get(handles.edit4,'String'));
y = str2num(get(handles.edit3,'String'));
oldX = x;
oldY = y;
%add spot
spot = ImStream.ThermalImage.Measurements.Add(System.Drawing.Point(x, y));
pause(1);
while handles.stop
%get the colorized image
img = ImStream.ThermalImage.ImageArray;
%convert to Matlab type
X = uint8(img);
axes(handles.axes1);

Answers (1)

Jan
Jan on 30 Jul 2019
Use a timer object and insert the code for taking a picture in its callback.
doc timer

Sign in to answer this question.

Tags