在MATLAB 2014中使用'imhist'时出错

pla*_*eak 4 matlab histogram

我试图使用imhist来显示uint8 .jpg的直方图,但是我收到此错误:

使用imhist的错误预期的输入数字1,I或X是二维的.

imhist> parse_inputs中的错误(第278行)validateattributes(a,{'double','uint8','int8','logical','uint16','int16','single','uint32','int32'} ,...

imhist中的错误(第60行)[a,n,isScaled,top,map] = parse_inputs(varargin {:});

这是我的图像信息:

whos f名称大小字节类
属性

f 2988x5312x3 47616768 uint8

我是否需要将图像转换为其他数据类?我将不胜感激任何帮助.

谢谢!

Ben*_*_11 13

错误的原因是因为你的图像是RGB而且imhist不处理它.要解决此问题,您可以使用单个频道:

imhist(YourImage(:,:,Channel));
Run Code Online (Sandbox Code Playgroud)

或者从RGB转换为灰度:

imhist(rgb2gray(YourImage));
Run Code Online (Sandbox Code Playgroud)

那现在应该工作正常.