How to solve this error?

I use R2013a. When I run this code it shows some errors. The code is:
% read two images
Im1 = imread('a.jpg');
Im2 = imread('b.jpg');
% convert images to type double (range from from 0 to 1 instead of from 0 to 255)
Im1 = im2double(Im1);
Im2 = im2double(Im2);
% Calculate the Normalized Histogram of Image 1 and Image 2
hn1 = imhist(Im1)./numel(Im1);
hn2 = imhist(Im2)./numel(Im2);
% Calculate the histogram error
f = sum((hn1 - hn2).^2);
f %display the result to console
The error is:
Error using imhist
Expected input number 1, I or X, to be
two-dimensional.
Error in imhist>parse_inputs (line 277)
validateattributes(a,
{'double','uint8','int8','logical','uint16','int16','single','uint32',
'int32'}, ...
Error in imhist (line 59)
[a, n, isScaled, top, map] =
parse_inputs(varargin{:});
Error in similar (line 10)
hn1 = imhist(Im1)./numel(Im1);
Can anyone please help me to solve this?

回答(2 个)

Your image must be a RGB image, See what it says:
ndims(Im1)
imhist only excepts grayscale and indexed image not 3d images

1 个评论

Check weather following commands run separately or not... >> I = imread('a.jpg'); >> imhist(I)
If not then convert it to gray

请先登录,再进行评论。

Saira
Saira 2020-3-30

0 个投票

How to solve this error?
Error using imwrite
(line 420)
Expected DATA to be one of these types: numeric, logical. Instead its type was vision.CascadeObjectDetector.
Error in Trainingcode (line 38)
imwrite(Mouth,strcat('E:\SVM\JAFFE Local Features\', int2str(i),int2str(j), '.tiff'));

2 个评论

My Code is working well on MATLAB 2015a but when I run it on MATLAB 2017a, I got this error.
convert your input into logical value.

请先登录,再进行评论。

类别

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by