如何在matlab中将双型2D图像绘制到轴手柄中

时间:2011-11-16 04:39:37

标签: user-interface matlab

我有一个双2D图像,我想在我的UI中使用我用指南制作。我有一个轴手柄,我想绘制它。我尝试了这个没有成功,我的图像都是蓝色的。

    function ComputeMap_Callback(hObject, eventdata, handles)
% hObject    handle to ComputeMap (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global healthyImage;
global sickImage;
global tumorMapImage;
global costFunction;
if(get(handles.radiobuttonMSE,'Value') == get(hObject,'Max'))
    costFunction = 0;

else

    costFunction = 1;
end
disp(costFunction);
tumorMapImage = mexFunction(im2double(sickImage),im2double(healthyImage),get(handles.blockSize,'Value'),get(handles.windowSize,'value'), costFunction);

image(tumorMapImage,'parent',handles.sImageGUI);

此mexFunction返回双2D图像。如果我只是在没有matlab和imShow(resultImage)的情况下调用这个函数;我得到了正确的结果。因此我认为它与双色的色彩映射以及图像不是3D而是2D的事实有关。但我在matlab中熟悉gui以确定该怎么做。我做了一些更多的研究,我认为我的问题可能与AlphaData属性有关,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您的图像值必须在[0,1]范围内才能由image功能正确绘制。

imshow有效,因为它首先查看图片中的最小值和最大值,然后缩放值以匹配此范围。或者。 (也许它在内部的工作方式不同,但无论如何......)