How to resolve this error "Error using histeq Expected input number 1, I, to be two-dimensional. Error in histeq (line 69), validateattributes(a,{'uint8','uint16','double','int16','single'}, ... Error in (line 3)" ?
7 views (last 30 days)
Show older comments
clc;
clear all;
g=histeq(imread('img.tiff'));
r=histeq(imread('img1.tiff'));
nir=histeq(imread('img2.tiff'));
figure;
imshow(g);
3 Comments
Mira mosad
on 25 Mar 2022
Check your image if the image is 3D convert it to 2D . Bu using this function Image = im2gray(Image);
Answers (1)
KALYAN ACHARJYA
on 14 Mar 2018
Edited: KALYAN ACHARJYA
on 14 Mar 2018
First Convert 'img.tiff' into a gray level then only apply the histeq.
g=histeq(rgb2gray(imread('img.tiff')));
1 Comment
DGM
on 27 Nov 2023
Note that as of R2017a, histeq() supports N-D inputs, so this specific error shouldn't be seen when feeding histeq() an RGB image anymore.
That said, it's still worth asking whether it's appropriate or intended to be operating on the channels of an RGB image independently -- or whether it's appropriate to assume any particular 3-channel image is RGB.
The answer depends on the images and the intent. Given the variable naming, I have to wonder if these were in fact not normal RGB images. Just a thought.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!