matlab gui 在鼠标点击时如何返回图像的这一点像素值或颜色值

2024-12-12 11:29:42
推荐回答(2个)
回答1:

方法: 在鼠标点击的毁掉函数中读取坐标和像素值. 注意图形行列与坐标值的对应关系

function mousepick()
    global I;
    h0 = figure;
    I = imread('2.jpg');
    I = rgb2gray(I);
    [m n]=size(I);
    h1 = imshow(I);    
    xlim([0 n-1]);ylim([0 m-1]);
    h2 = uicontrol('style','text','Position',[30 15 100 15],'string','non');
    set(h1,'ButtonDownFcn',@clicky);
    
end
function clicky(varargin) 
    global I;
    a=get(gca,'Currentpoint');
    x = fix(a(1,1));
    y = fix(a(1,2));
    im = I(y,x);
    set(findobj('style','text'),'String',strcat('(',num2str(x),',',num2str(y),')=',num2str(im)  ) );
end

回答2:

在Callback里面添加代码,col=get(对象句柄,'color');col就是包含图像像素的矩阵了。再到你想显示的地方吧col(1),col(2),col(3)转化为string显示就行了