function created for transform grayscale to binary doesn't work

4 ビュー (過去 30 日間)
cyberdyne
cyberdyne 2012 年 8 月 6 日
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.

採用された回答

Matt Fig
Matt Fig 2012 年 8 月 6 日
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 件のコメント
Sean de Wolski
Sean de Wolski 2012 年 8 月 6 日
Welcome back Matt!
Matt Fig
Matt Fig 2012 年 8 月 6 日
Thanks, Sean de. (MathWorker!)

サインインしてコメントする。

その他の回答 (1 件)

John Petersen
John Petersen 2012 年 8 月 6 日
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;

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by