How to extract data from image figure?
显示 更早的评论
Hello, I am using "imcontrast" to adjust contrast of figure. Then I press "adjust data". Now, my question is, how can I get a matrix variable in my work space with values of the new adjusted figure?
Thank you.
回答(2 个)
Stephen23
2015-11-15
0 个投票
3 个评论
moose
2015-11-15
Image Analyst
2015-11-15
True, getimage() will extract the image from the axes, but he had to put it in there in the first place, so the contrast-adjusted image array is still in memory, or at least it was at some time. An alternative is to pass the array around in memory using some of the techniques in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.28s.29.3F, though admittedly getimage() is probably easier. Though there's other good stuff in the FAQ so it's worth checking out. One thing to note is that getimage() retains the bit depth of the original image so that if you put a 16 bit image into your 8/32 bit display, you will get the original 16 bits out, not 8, which is good.
John
2021-4-26
If in imcontrast, your min value is mn, and your max value is mx, and fn = the number of the figure window you're interested in:
h = figure(fn);
img = max(mn, min(mx, getimage(h)));
类别
在 帮助中心 和 File Exchange 中查找有关 Images 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!