MATLAB: Background subtraction from the thermal images.

digital image processingimage analysisimage processingimage segmentation

Hi…Please find the attached the image. I want the image of person only. Can you please suggest me that how to subtract background from the images? Thank you.

Best Answer

clc; clear all ;
rgbImage = imread('your image');
figure ; imshow(rgbImage);
% Convert RGB image into HSV color space.
hsvImage = rgb2hsv(rgbImage);
% Extract individual H, S, and V images.
h = hsvImage(:,:, 1);
s = hsvImage(:,:, 2);
v = hsvImage(:,:, 3);
% Threshold to find vivid colors.
mask = v < 0.3;
% Make image white in mask areas:
h(mask) = 0;
s(mask) = 0;
v(mask) = 1;
% Convert back to RGB
hsvImage = cat(3, h, s, v);
newRGB = hsv2rgb(hsvImage);
imshow(newRGB)