Image 显示RGB输出的MATLAB灰度

Image 显示RGB输出的MATLAB灰度,image,matlab,image-processing,rgb,grayscale,Image,Matlab,Image Processing,Rgb,Grayscale,我正在使用这些代码行将RGB图像转换为灰度 % =========================== % GRAYSCALE IMAGE % =========================== % --- Executes on button press in btnGrayscale. function btnGrayscale_Callback(hObject, eventdata, handles) global origImage; imageGray = rgb2gray

我正在使用这些代码行将RGB图像转换为灰度

% ===========================
% GRAYSCALE IMAGE
% ===========================
% --- Executes on button press in btnGrayscale.
function btnGrayscale_Callback(hObject, eventdata, handles)
global origImage;    
imageGray = rgb2gray(origImage);
axes(handles.axesEdited);
image(imageGray);
但输出不显示灰度图像

有什么问题吗?顺便说一下,我正在Windows7上运行Matlab6.5。

试试这个

imshow(imageGray,[])
来自


imshow(I,[])显示灰度图像I,其中[]是一个空矩阵,指定您希望imshow根据I中的像素值范围,使用[min(I(:))max(I(:)]作为显示范围来缩放图像。

谢谢您的回答!我原以为问题出在我的图形驱动程序(lol)上,但当我尝试在图形(而不是轴)上显示输出时,我发现了问题

我找到了一个简单的解决方案

而不是使用
图像(imageGray),我使用了
imshow(imageGray)


另一种方法可以调用一个波段来显示灰色图像


imshow(rgb(:,:,2))

在调用
image
后,您可能需要执行
imshow(imageGray,[])
以查看结果d
colormap gray
,因为它不是默认的colormap(它不是
jet
就是
parula
,取决于您的Matlab版本)。