change Red level in RGB

2 Ansichten (letzte 30 Tage)
jarvan
jarvan am 26 Okt. 2014
Kommentiert: jarvan am 27 Okt. 2014
I got these code but it keeps saying that im have not enough input arguments. or,it said undefined function or variable while i put the picture name and format
function S=newRGB(fname, fformat, Rlevel, Glevel, Blevel) X=imread(fname, fformat); X=double(X); X=X/255; S=size(X); X(:,:,1)=X(:,:,1)* (Rlevel/100); X(:,:,2)=X(:,:,2)* (Glevel/100); X(:,:,3)=X(:,:,3)* (Blevel/100); figure; image(X); axis off end
  2 Kommentare
Michael Haderlein
Michael Haderlein am 26 Okt. 2014
Can you please format your question in a readable manner (there is a code button top of the text box you're writing your question in) and also tell us how you run this function (what you type into the command window)? Also, you write that you get two different error messages - when do you get which?
jarvan
jarvan am 26 Okt. 2014
function S=newRGB(fname, fformat, Rlevel, Glevel, Blevel)
X=imread(fname, fformat);
X=double(X);
X=X/255;
S=size(X);
X(:,:,1)=X(:,:,1)* (Rlevel/100);
X(:,:,2)=X(:,:,2)* (Glevel/100);
X(:,:,3)=X(:,:,3)* (Blevel/100);
figure;
image(X);
axis off
end
for example i have flower.jpg
i hit newRGB(flower,jpg,50,100,100)
it said Undefined function or variable 'flower'.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 26 Okt. 2014
jarvan - you are passing flower and jpg into your function as if they are variables rather than strings. Since you have not defined a variable as flower then the error message makes sense. If you use the signature that you have defined for newRGB then execute the following in the Command Window instead
newRGB('flower','jpg',50,100,100);
Note how strings are now being passed into this function.
Or, you could just simplify your function and pass the file name and extension together. Change the first two lines of newRGB to
function S=newRGB(fname, Rlevel, Glevel, Blevel)
X=imread(fname);
In the above, we have removed the format (extension) string. Now you can just execute the following
newRGB('flower.jpg',50,100,100);
  1 Kommentar
jarvan
jarvan am 27 Okt. 2014
thank you for you response. it works for me now

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by