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)" ?

5 visualizzazioni (ultimi 30 giorni)
clc;
clear all;
g=histeq(imread('img.tiff'));
r=histeq(imread('img1.tiff'));
nir=histeq(imread('img2.tiff'));
figure;
imshow(g);
  3 Commenti
Mira mosad
Mira mosad il 25 Mar 2022
Check your image if the image is 3D convert it to 2D . Bu using this function Image = im2gray(Image);

Accedi per commentare.

Risposte (1)

KALYAN ACHARJYA
KALYAN ACHARJYA il 14 Mar 2018
Modificato: KALYAN ACHARJYA il 14 Mar 2018
First Convert 'img.tiff' into a gray level then only apply the histeq.
g=histeq(rgb2gray(imread('img.tiff')));
  1 Commento
DGM
DGM il 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.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by