How to obtain this graph???
1 次查看(过去 30 天)
显示 更早的评论
This is my input Image.
How to get this graph??
0 个评论
采纳的回答
Walter Roberson
2012-12-24
plot() an improfile() of the image
3 个评论
Walter Roberson
2012-12-24
For which call? For the plot call, you can leave out the x, and the y value should be the value returned by improfile()
更多回答(1 个)
Winston
2020-4-8
Hi, Walter, I have a question regarding the x value, it is the pixel number, but most of the time, the intensity peak is at a point which is not an interger, such as a peak (y max) at x=160.23, which means among the 161st pixel, there is a peak. so if we plot x from 1 to 200 with increasement of 1, then we will omit the peak, how to find or export the exact x value?
3 个评论
Winston
2020-4-8
figure, improfile(I, x, y);
then from the profile, I can use data tips to point out the peak, giveing the corresponding x value. x starts from 0 ending with the end pixel coordinates. then how to export all the x values ?
Walter Roberson
2020-4-8
It is likely that you profiled at an angle across the image, rather than on a row or column.
improfile() works by finding the longer edge of the x and y distance, and setting up integer increments along that distance, and doing linear interpolation of the other coordinates to have the same number of points. Then it does interp2() with those coordinates.
We can tell from the fact that the "x" values are non-integer, that you are looking at values belonging to the shorter distance between coordinates, the one that would have been interpolated when the other coordinate would have been exact integers.
It is questionable as to whether you can say that the peak is "really" at x = 160.23. The value you are seeing there is a weighted average of the surrounding pixels. The "real" peak is at 160 or 161.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!