change Red level in RGB
2 views (last 30 days)
Show older comments
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 Comments
Michael Haderlein
on 26 Oct 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?
Accepted Answer
Geoff Hayes
on 26 Oct 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);
More Answers (0)
See Also
Categories
Find more on Switches and Breakers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!