image pixel info on
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello.
I have 2 different images (image1, image2). I want to place the mouse (or click with it) on image1 (to get the (x,y) of that pixel), and to view the pixel value of image2 on that (x,y) location (the one I choose on image1).
how can that be done?
thanks.
댓글 수: 0
채택된 답변
Martin
2016년 8월 18일
편집: Martin
2016년 8월 18일
Hi Nirit, you can use the WindwoButtonMotionFunction of the Figure, your image 1 is in. Here is a quick example:
function m_easy_mouse_handling_example()
%example data
a = [1,1,1;2,2,2;3,3,3];
b = [10,12,14;16,18,20; 22 24 26];
%show the two figures
h_fig1 = figure()
h_ax1 = axes('Parent',h_fig1);
h_im1 = imagesc(a,'Parent',h_ax1);
h_fig2 = figure()
h_ax2 = axes('Parent',h_fig2);
h_im2 = imagesc(b,'Parent',h_ax2);
%set function which is used when mouse is over figure 1 (h_fig1)
set(h_fig1,'WindowButtonMotionFcn', @MouseMoveFcn)
function MouseMoveFcn(varargin)
try
mouse_pos = get(h_ax1, 'CurrentPoint');
ii = round(mouse_pos(1,1));
jj = round(mouse_pos(1,2));
%show value of image 2 in command line
disp(num2str(b(jj,ii))) %please check, if order of dimensions is correct
catch
%catch error, if you are outside the image (to do)
end
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!