Как я могу сохранить ИК-изображение с метаданными в виде jpg в Matlab?

У меня есть этот пример кода от FLIR:

video_input = videoinput('gige'); %connect to the first gige camera
source = video_input.Source; %get the source object

%To get temperature linear data, the following GenICam registers needs
%to be set
source.SensorGainMode = 'HighGainMode';
source.TemperatureLinearMode = 'On';
source.TemperatureLinearResolution = 'High';


%start the video acquisition
start(video_input);

%MATLAB will receive data in uint16 format, the camera streams in 14bit
%therefor we have to remove the two most significant bits (2^14 and 2^15)
temp_linear = double(getdata(video_input, 1, 'uint16'));
temp_linear_stripped = temp_linear -(2^15) - (2^14); %removing the 2 MSB

%the temperature is linear in this format: T = Signal * 0.04
temp_data_kelvin = temp_linear_stripped * 0.04;
%we get the data in Kelvin, so it needs to be converted
temp_data_celcius = temp_data_kelvin - 273.15;

%displaying the temperature in pixel(100,100)
%disp(temp_data_celcius(100,100));

%to display the image, we can use imagesc
imagesc(temp_data_celcius);

stop(video_input);
imaqreset;

вывод из imagesc это то, что я хотел бы как JPG. Но id также нравится данные о температуре, связанные с ним. Есть ли способ сделать это в Matlab?

Я попытался imwrite(temp_data_celcius, 'image.jpg'), но все, что он мне дает, это пустое изображение. Я думаю, это потому, что imwrite записывает динамический диапазон [0,1], но я боюсь, я не знаю, что это значит. Я хотел бы сохранить (в градациях серого в порядке) со встроенными данными о температуре. поэтому, если я открою изображение позже, у меня все еще будут данные о температуре.

Спасибо за помощь!!

0 ответов

Другие вопросы по тегам