function created for transform grayscale to binary doesn't work

2 views (last 30 days)
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;

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!