MATLAB Answers

How to create user defined function in matlab?

35 views (last 30 days)
I have use below set of code frequently. So i have to make user defined function
below is my frequently used code:-
x=xvalue;
y=yvalue;
for j=1:3;
red(j)=RGB(y,x,j);
end
shape.color=red;
  2 Comments
saravanakumar D
saravanakumar D on 22 Jan 2014
input is x and y values
output is pixel color value -->shape.color= [242 0 12]

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 22 Jan 2014
Edited: Image Analyst on 22 Jan 2014
I think this is the minimum necessary:
function shape = myFunction(RGB, xvalue, yvalue, i)
x=xvalue;
y=yvalue;
for j=1:3;
red(j)=RGB(y,x,j);
end
shape(i).color=red;
Optionally, x, y, and red could also be outputs, and shape could also be an input. Be aware that the "red" variable actually contains the red, green, and blue values from the pixel at (y, x).
  6 Comments
Image Analyst
Image Analyst on 23 Jan 2014
Do you want a structure or not? If there is only one field, then I see no reason at all to use a structure. Just use a simple variable.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 22 Jan 2014
function shape = myFunction(RGB, xvalue, yvalue, i)
shape(i).color = squeeze(RGB(xvalue, yvalue, :));
  2 Comments
Walter Roberson
Walter Roberson on 22 Jan 2014
The output variable is "shape", as listed in the function header. The "shape" that is output will be a structure array with a single field "color", with the "i"th element of the structure array populated with meaningful data and the rest of the shape(K).color will be the empty array []

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!