RGB to Gray function with Matlab code

1 vue (au cours des 30 derniers jours)
jenny mat
jenny mat le 1 Nov 2011
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 ..

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 1 Nov 2011
gray() is a MATLAB function too. Do the following to see if there are conflicts.
which gray -all
  3 commentaires
Fangjun Jiang
Fangjun Jiang le 1 Nov 2011
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 le 1 Nov 2011
yes ,, i deleted the old one and it worked very well ..
thanx very much

Connectez-vous pour commenter.

Plus de réponses (1)

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

Catégories

En savoir plus sur Images dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by