MATLAB: Problem of color display in an image

colorcolormapimage analysisimage processingImage Processing Toolboximage segmentationMATLABMATLAB and Simulink Student Suite

hello i have a display problem i want to convert the black color in the image attached to the red color
here is the code that I wrote
maps = load('img.mat');
fetrain = struct2array(maps);
imshow(fetrain)

Best Answer

Try this:
s = load('img.mat')
rgbImage = s.img;
subplot(1, 2, 1);
imshow(rgbImage)
impixelinfo
title('Original Image', 'FontSize', 20);
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
blackMask = redChannel == 0 & greenChannel == 0 & blueChannel == 0;
redChannel(blackMask) = 255;
greenChannel(blackMask) = 0;
blueChannel(blackMask) = 0;
% Recombine separate color channels into a single, true color RGB image.
rgbImage = cat(3, redChannel, greenChannel, blueChannel);
subplot(1, 2, 2);
imshow(rgbImage);
title('Now with black made red', 'FontSize', 20);
0000 Screenshot.png