Filter löschen
Filter löschen

while running d code below error is showing and can i inecrease the height of the stem.

3 Ansichten (letzte 30 Tage)
close all; clear all; clc; data=imread('cameraman.tif'); figure(1),imshow(data);
h=imhist(data);
h1=h(1:10:256);
horz=1:10:256;
figure(2), stem(horz,h1,'fill')
axis([0 255 0 15000])
set(gca,'xtick',[0:50:255])
set(gca,'ytick',[0:2000:15000])
s=size(data)
count =0;
for x=1:256
for y=1:256
if data(x,y)==248
count=count+1;
end;
end;
end;
for x=1:256
for y=1:256
f=(1/2)*((sum((max(data)-data(x,y)).^4))*(count/65536))/(sum((max(data)-data(x,y)).^2))
mf(x,y)=exp(-(max(data)-data(x,y)).^2/2*f);
%fuzzification
I=(mf(x,y)./data(x,y));
end;
end;
  2 Kommentare
Sapam Jaya
Sapam Jaya am 5 Nov. 2013
error is ??? Undefined function or method 'exp' for input arguments of type 'uint8'. Error in ==> ann at 26 mf(x,y)=exp(-(max(data)-data(x,y)).^2/2*f);

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Wayne King
Wayne King am 5 Nov. 2013
exp() does not accept uint8 inputs. Do your data have to be uint8?
Can you cast both your f and data variables to doubles?
f = double(f);
data = double(data);

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by