Matlab - perform a function of all matrix cells
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Jan
2012-11-13
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.
回答(2 个)
Jan
2012-11-13
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!