error in plotting a bar graph

1 次查看(过去 30 天)
this program implements a fuzzy color histogram,the fuzzy system a takes 3 inputs.rgb2lab is already defined.the output graph,i.e the histogram plot has 15 bins
z=imread('Lenna.png');
x=readfis('a.fis');
R=z(:,:,1);
G=z(:,:,2);
B=z(:,:,3);
%x1=0:1:15;
[L,a,b]=RGB2Lab(R,G,B);
%L1=cat(3,L,a,b);
%imshow(L1)
[m,n,o]=size(s);
q=[];
%L=zf(:,1);
Ld=double(L);
%L1d=double(L1);
%a=zf(:,2);
ad=double(a);
%b=zf(:,3);
bd=double(b);
for i=1:m
for j=1:n
q(i,j)=evalfis([Ld(i,j) ad(i,j) bd(i,j)],x);
end
end
bar(q(i,j))
i need to plot the output 'q' as a bar graph.and i need the x-range to be in 0-15. but there is an error: rror using ==> bar The length of X must match the number of rows of Y. can anyone help with this?
  1 个评论
piyali banerjee
piyali banerjee 2014-2-21
when running this code I am getting q[] values same for all the rows and columns as .5 for any jpg images.Can anybody tell me which portion of the code should I modify to get the correct result aswellas correct bar chart?

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2012-4-7
You have a nested for loop over i and j. After the end of that loop, you ask to bar(q(i,j)) . That is asking to create a bar plot of the single value stored at q(i,j) based upon the values of i and j after the "for" loops. MATLAB leaves the loop variable in a "for" loop set to the last valid value, so this will be q(m,n) that you are asking to create a bar plot of.
Considering that q is 2 dimensional, it is not at all clear what you are wanting to create a bar plot of. Especially as, in past threads, you have indicated that what evalfis() on your particular FIS returns is already the histogram, rather than a histogram bin number.
If I were to guess, I would say that what you want is
hist(q(:))
  6 个评论
mideas
mideas 2012-4-9
i think its working now.. thanx a lot!
piyali banerjee
piyali banerjee 2014-2-21
I am getting all the q(m,n) values as .5 taking any images as consideration.Can anyone solve the problem?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Fuzzy Logic in Simulink 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by