How can I convert grayscale image to a binary image without using a toolbox function?
Mostra commenti meno recenti
I want to create a binary image from a gray scale image, using a specific threshold value of 0.2, but without using im2bw(), which is in the Image Processing Toolbox. How do I do it?
Risposta accettata
Più risposte (1)
x = imread('cameraman.tif');
figure,imshow(x);
[r,c] = size (x);
output=zeros(r,c);
for i = 1 : r
for j = 1 : c
if x(i,j) > 128
output(i,j)=1;
else
output(i,j)=0;
end
end
end
figure,imshow(output);
1 Commento
DGM
il 24 Ago 2023
There's no need for the loops. The appropriate answer was given years prior.
inpict = imread('cameraman.tif'); % a uint8-class grayscale image
mask = inpict >= 128; % a logical-class binary image
... or if inpict is not needed for anything, you can avoid the intermediate result:
mask = imread('cameraman.tif') >= 128; % a logical-class binary image
Display them however you choose.
Categorie
Scopri di più su Image Data Acquisition in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!