Clear Filters
Clear Filters

Is there any possible to save the logical image in png?

4 views (last 30 days)
I want to save my image logical as .png. But I got uint8 datatype after save it.
Is it possible to save an image in logical format png?
  7 Comments
Walter Roberson
Walter Roberson on 21 Nov 2023
Change
z=imwrite(logical(mask(randi(2, 512,512)-1)),'maskre8.jpg');
to
imwrite(randi([0 1], 512, 512, 'logical'), 'maskre8.png')
Note that JPEG has no possibility of storing images as logical.

Sign in to comment.

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 21 Nov 2023
The variable mask() is already a logical array. You don't need to convert it to logical().
Just write it as a PNG image -
fontSize = 16;
I=imread('rescale8.jpg');
subplot(1, 2, 1);
imshow(I, []);
axis('on', 'image');
%caption = sprintf('Original Image : "%s"', I);
drawnow;
hp = impixelinfo();
hFig1 = gcf;
hFig1.Units = 'Normalized';
hFig1.WindowState = 'maximized';
hFig1.Name = 'Demo by Image Analyst';
% Mask to find the lesion.
hsvImage = rgb2hsv(I);
mask = hsvImage(:,:,2) > 0.3;
% Fill holes.
mask = imfill(mask, 'holes');
class(mask)
ans = 'logical'
% Display the test image full size.
subplot(1, 2, 2);
imshow(mask, []);
axis('on', 'image')
%% Write mask() as a png image
imwrite(mask, 'maskre8.png')

More Answers (0)

Community Treasure Hunt

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

Start Hunting!