How to extract data from image figure?

조회 수: 42 (최근 30일)
moose
moose 2015년 11월 15일
답변: John 2021년 4월 26일
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
Stephen23 2015년 11월 15일
You can use getimage
  댓글 수: 3
Stephen23
Stephen23 2015년 11월 15일
편집: Stephen23 2015년 11월 15일
@moose: I notice that you have asked multiple questions on this forum and sometimes received quite comprehensive answers, but you have never accepted any answer. It is considered polite on this forum to accept an answer that helped resolve your query.
Image Analyst
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
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)));

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by