RGB to Gray function with Matlab code

1 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by