How to fix this error if my image is not two dimensional?

22 ビュー (過去 30 日間)
Atifah Samuri
Atifah Samuri 2021 年 11 月 23 日
コメント済み: Image Analyst 2021 年 11 月 25 日
handclah = imread('hand2.jpg');
handclahe = adapthisteq(handclah, 'clipLimit', 0.02, 'Distribution', 'rayleigh');
figure, imshow (handclah);
figure, imshow (handclahe);
The error is shown below:
Error using adapthisteq
Expected input number 1, I, to be two-dimensional.
Error in adapthisteq>parseInputs (line 416)
validateattributes(I, {'uint8', 'uint16', 'double', 'int16', 'single'}, ...
Error in adapthisteq (line 155)
noPadRect, distribution, alpha, int16ClassChange] = parseInputs(varargin{:});


Image Analyst
Image Analyst 2021 年 11 月 23 日
You're using it on a color image and you can't do that. It needs a gray scale image. To fix:
handclah = imread('hand2.jpg');
[rows, columns, numberOfColorChannels] = size(handclah)
if numberOfColorChannels == 3
% If it's color, convert it to gray scale.
handclah = rgb2gray(handclah);
handclahe = adapthisteq(handclah, 'clipLimit', 0.02, 'Distribution', 'rayleigh');
subplot(2, 1, 1);
imshow (handclah);
subplot(2, 1, 2);
imshow (handclahe);
  5 件のコメント
Atifah Samuri
Atifah Samuri 2021 年 11 月 25 日
I see. Thank you sir.
Image Analyst
Image Analyst 2021 年 11 月 25 日
That will solve the error you had, so could you click the "Accept this answer" link for my Answer? Thanks in advance.


その他の回答 (1 件)

Yusuf Suer Erdem
Yusuf Suer Erdem 2021 年 11 月 23 日
Hello, I used these codes below and it worked for me. Could you try it too? I only used .tif format image instead of .jpg image. I upload my image for you too.
clc; clear; close all;
I = imread('tire.tif');
J = adapthisteq(I,'clipLimit',0.02,'Distribution','rayleigh');
title('Original Image (left) and Contrast Enhanced Image (right)')


Help Center および File ExchangeExplore and Edit Images with Image Viewer App についてさらに検索




Community Treasure Hunt

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

Start Hunting!

Translated by