Hello Everyone I have the following error please advise

3 次查看(过去 30 天)
Error using matlab.images.internal.iptcheckmap (line 50)
Function IND2GRAY expected input number 2, MAP, to be a valid colormap. Valid colormaps must be nonempty, double, 2-D matrices
with 3 columns.
Error in iptcheckmap (line 28)
matlab.images.internal.iptcheckmap( ...
Error in ind2gray>parse_inputs (line 76)
iptcheckmap(varargin{2}, mfilename, 'MAP', 2);
Error in ind2gray (line 23)
[a,cm] = parse_inputs(varargin{:});
Error in Untitled2 (line 13)
f= ind2gray(i,map);
50 coder.internal.errorIf(true,'MATLAB:images:validate:badMapMatrix', ...
My code is:
clear all;
close all;
close all hidden
clc;
dbstop if error
a=imread('image_types_05.jpg');
figure(1),imshow(a),title('origanal image');
b=imnoise(a,'salt & pepper',.02);
figure(2),imshow(b),title('noisy image');
[i,map]=imread('pen_image.jpg');
f= ind2gray(i,map);
%Show original image:
figure,imshow(f, []);
% First: Spatial Filtering:
% Sobel Spatial Domain Filter
% Add some white noise:
f = double(f) + 40*randn(size(f));
%Display results (show all values)
figure(4),imshow(f, []),title('Noisy Grey Level Image');
h = fspecial('average'); %sobel
sfi = imfilter(double(f),h, 0, 'conv');
%show the image after pplying the sptaial filter "sobel"
figure(5),imshow(sfi, []);title('SOBEL Filtered Image');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Low Pass Filter
I= rgb2gray(a);
noisyImage=imnoise(I,'salt & pepper',.02);
imshow(noisyImage, [],'InitialMagnification', 'fit')
filterdImage = imgaussfilt(I, 5);
figure(6),imshow(filterdImage,'InitialMagnification', 'fit')
title('Low pass Filter Image');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% High Pass Filter
figure(7),imshow((I - filterdImage), 'InitialMagnification', 'fit')
title('High pass Filter Image');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Median Filter
I = imread('swan.jpg');
L= rgb2gray(i);
J = imnoise(L,'salt & pepper',0.02);
K = medfilt2(J);
figure(8),imshowpair(J,K,'montage'),title('Median Filter Image')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Laplacian Filter
%Set parameters of the filter to increase details smaller than 0.4.
A = imread('swan.jpg');
sigma = 0.4;
alpha = 0.5;
% Use fast local Laplacian filtering
B = locallapfilt(A, sigma, alpha);
%Display the original and filtered images side-by-side.
figure(9),imshowpair(A, B, 'montage'),title('Original and Laplacian Filter Image')
  3 个评论
DGM
DGM 2021-7-23
As far as I know, imread() doesn't support indexed images for JPG or JP2 files. I'm going to assume the image is RGB or grayscale.
Prabhan Purwar
Prabhan Purwar 2021-7-27
Hi,
Kindly attach the images used while executing the code, so that we can replicate the issue and advice accurate workaround/solution.
Thanks

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by