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 件)

Dishant Arora
Dishant Arora 2014 年 3 月 16 日

0 投票

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

1 件のコメント

Prasad Kalane
Prasad Kalane 2014 年 3 月 16 日
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 件のコメント

Saira
Saira 2020 年 3 月 30 日
My Code is working well on MATLAB 2015a but when I run it on MATLAB 2017a, I got this error.
Sakshi Singh
Sakshi Singh 2021 年 4 月 26 日
convert your input into logical value.

サインインしてコメントする。

カテゴリ

質問済み:

2014 年 3 月 16 日

コメント済み:

2021 年 4 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by