我有一个双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属性有关,但我不知道该怎么做。
答案 0 :(得分:1)
您的图像值必须在[0,1]范围内才能由image
功能正确绘制。
imshow
有效,因为它首先查看图片中的最小值和最大值,然后缩放值以匹配此范围。或者。 (也许它在内部的工作方式不同,但无论如何......)