使用image命令显示二进制图像

时间:2014-05-06 10:27:58

标签: image matlab edge-detection

我试图在轴(轴4)上显示边缘图像(使用Canny边缘检测器)。下面的代码可以解决,但不知何故边缘图像以蓝色显示

axes(handles.axes4);
imh=image(CannyImage1);
resultImage=CannyImage1;
axis off;
axis image;
guidata(hObject, handles);

get(handles.axes4);

我需要让结果图像变得更清晰(边缘变得更加明显),因为图像是用于显示的。帮助我理解为什么图像变成这样,请建议修复它(回到基本的黑白边缘图像)...谢谢...

1 个答案:

答案 0 :(得分:0)

问题是'image()'命令不会缩放图像,因此0和1之间的差异非常小而且没有正确显示。如果您使用'imagesc()'命​​令,您的图像将自动缩放,边缘将可见。如果你想要它是黑白而不是颜色,你必须相应地设置色彩图,即:

imagesc(CannyImage1);
colormap('gray')

另外,如果你有图像处理工具箱,你可以使用'imshow()'命令,我觉得在处理图像时最好使用它。