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
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
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 个评论
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 Center 和 File Exchange 中查找有关 Fuzzy Logic in Simulink 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!