Matlab - perform a function of all matrix cells
2 views (last 30 days)
Show older comments
Hello,
I have loaded a grayscale image into img so now I have a one matrix in it.
Now I used plot to show a graph of a function and I would like to use this function over all of the matrix values and actually change the gray values of the image.
I do know the "A(A>0) = value" function but I'm not sure how to use it with the plot I've made.
XData=get(get(gca,'children'),'XData');
YData=get(get(gca,'children'),'YData');
% Get y value for x=3.33 - NOT a data point.
y_3p33 = interp1(XData,YData,3.33,'spline')
(c) paulo silva http://www.mathworks.com/matlabcentral/answers/1353 so this is actually the way of getting the new Y point for each value but how can I use it over all the matrix cells in a fast way? (actually in any way)
thank you!
1 Comment
Jan
on 13 Nov 2012
Please use meaningful tags. Obviously all questions in thius forum concern "matlab code".
Do you mean "matrix elements"? "Cells" are a special type of arrays, which can contain elements of different types.
Answers (2)
Jan
on 13 Nov 2012
Please use meaningful tags. Obviously all questions in thius forum concern "matlab code".
Do you mean "matrix elements"? "Cells" are a special type of arrays, which can contain elements of different types.
I do not see the connection between the XData and YData of your graph and the loaded image. What exactly is a "one matrix"? Are you looking for:
A2 = reshape(interp1(XData,YData, A(:), 'spline'), size(A));
0 Comments
See Also
Categories
Find more on Geometric Transformation and Image Registration 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!