我正在使用以下代码在 MATLAB 的图形窗口中显示图像。
im = imread('Image02.tif');
processAndDisplayImage(im);
hImage = image(im);
set(hImage,'ButtonDownFcn',@clickInImage);
但问题是上面的第三行由于某种我不知道的原因使图像发生了变化。有没有办法在不修改的情况下获得图像句柄?
更新:解决了问题。请参考我下面的回答。
我正在使用以下代码在 MATLAB 的图形窗口中显示图像。
im = imread('Image02.tif');
processAndDisplayImage(im);
hImage = image(im);
set(hImage,'ButtonDownFcn',@clickInImage);
但问题是上面的第三行由于某种我不知道的原因使图像发生了变化。有没有办法在不修改的情况下获得图像句柄?
更新:解决了问题。请参考我下面的回答。
image
图形命令无法更改图像。我只能猜测它以您不想要的方式显示图像。检查图像的范围 -
max(im(:));
还有类型:
class(im);
并尝试找出问题所在
代替
hImage = image(im);
我用以下来解决我的问题。
[hImage hfig ha] = imhandles(gcf);
但我仍然不明白 image 命令对图中显示的实际图像的作用。
也许您可以进行修改processAndDisplayImage
,使其将显示图像的句柄作为输出变量返回?