How to resolve this error "Error using histeq Expected input number 1, I, to be two-dimensional. Error in histeq (line 69), validateat​tributes(a​,{'uint8',​'uint16','​double','i​nt16','sin​gle'}, ... Error in (line 3)" ?

9 views (last 30 days)
clc;
clear all;
g=histeq(imread('img.tiff'));
r=histeq(imread('img1.tiff'));
nir=histeq(imread('img2.tiff'));
figure;
imshow(g);
  3 Comments

Sign in to comment.

Answers (1)

KALYAN ACHARJYA
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
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.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!