RGB to Gray function with Matlab code

1 回表示 (過去 30 日間)
jenny mat
jenny mat 2011 年 11 月 1 日
hi all , we all know the Matlab belt in rgb2gray ,
i am tring to do it myself ,, here's my function
function out=gray(x)
[p,q,n]=size(x);
%out=uint8(ones(m,n,p));
R=x(:,:,1);
G=x(:,:,2);
B=x(:,:,3);
out=((R+G+B)/3);
and i have this error whn calling gray()
??? Subscript indices must either be real positive integers or logicals.
i don't know what's wrong , if any one know the solution .. Thanx in advance ..

採用された回答

Fangjun Jiang
Fangjun Jiang 2011 年 11 月 1 日
gray() is a MATLAB function too. Do the following to see if there are conflicts.
which gray -all
  3 件のコメント
Fangjun Jiang
Fangjun Jiang 2011 年 11 月 1 日
You mean you change the name of your own gray() function? Why did the error message still say "Error in ==> gray at 6, G=x(:,:,2);"?
jenny mat
jenny mat 2011 年 11 月 1 日
yes ,, i deleted the old one and it worked very well ..
thanx very much

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 11 月 1 日
Chances are you are trying to call gray() from within a routine in which you have a variable named "gray".

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by