필터 지우기
필터 지우기

How can I convert grayscale image to a binary image without using a toolbox function?

조회 수: 28 (최근 30일)
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?

채택된 답변

Image Analyst
Image Analyst 2016년 10월 14일
Just threshold:
binaryImage = grayImage > 0.2; % or < or <= or >= (whatever you want).
No toolbox needed.
  댓글 수: 11
Image Analyst
Image Analyst 2023년 8월 24일
Don't use gray as the name of your variable. It is the name of a built-in function. What do you mean by "back"? What happened to it. You still have (the badly named) "gray" in your functions workspace, right? So just use it. You didn't say "clear gray" did you? So it should still be there.
DGM
DGM 2023년 8월 24일
To be clear, let's assume an empty workspace:
inpict = imread('cameraman.tif'); % a uint8-class grayscale image
mask = inpict >= 128; % a logical-class binary image
At this point there are two variables in the workspace: inpict and mask. You can't back-calculate inpict from mask, but you don't have to, since it's still in memory. Just use inpict.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Ali nafaa
Ali nafaa 2022년 11월 29일
편집: DGM 2023년 8월 24일
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
DGM
DGM 2023년 8월 24일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Image Data Workflows에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by