function created for transform grayscale to binary doesn't work

2 views (last 30 days)
cyberdyne
cyberdyne on 6 Aug 2012
Hi,
I've created this function m file to convert grayscale images to binary images (as gray2bin matlab function):
function conv_to_BW(im)
[m,n]=size(im);
BW=zeros(m,n);
for i=1:m
for j=1:n
if im(i,j)<10
BW(i,j)=0;
else BW(i,j)=1;
end
end
end
But, when I apply this function to a file in grayscale as:
conv_to_BW(grayscalefile);
it doesn't generate BW variable-image-matrix and doesn't generate m,n variables.

Accepted Answer

Matt Fig
Matt Fig on 6 Aug 2012
You didn't specify a return value for your function. If you want your function to return something, you have to tell it to do so.
function BW = conv_to_BW(im)
  5 Comments

Sign in to comment.

More Answers (1)

John Petersen
John Petersen on 6 Aug 2012
If you're interested, this should be faster code if your image is very large or you're doing many of them.
function BW = conv_to_BW(im)
[m,n]=size(im);
BW = ones(m,n);
BW(im<10)) = 0;

Community Treasure Hunt

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

Start Hunting!