How to get entropy values of different images to a graph?
1 view (last 30 days)
Show older comments
Ishara Nipuni
on 25 Nov 2018
Commented: KALYAN ACHARJYA
on 25 Nov 2018
Hi,
I have calculated the entropy values of different images using the code I have shown below. Now I need to get the entropy values o several images to a graph. Can you please help me on that?
%read te image
I = imread('152.bmp');
subplot(2,2,1),imshow(I,map1)
I2 = imread('006.bmp');
subplot(2,2,3),imshow(I2,map2)
x = entropy(I);
x2 = entropy(I2);
[Height,Width] = size(I);
[m,Binsx] = imhist(I);
%normalize the counts
m = m/(Height*Width);
%get the sum of the histogram values
sprintf('the sum of the histogram value is = %g',sum(m));
subplot(2,2,2),plot(Binsx,m,'k')
xlabel('pixel value'),ylabel('relative count')
H = sum(-m.*log2(m));
sprintf('the entropy of the image is = %g',H)
%calculate height & width of the image
[Height,Width] = size(I2);
%get the histogram of the image in 256 bins
[n,Binsx] = imhist(I2);
%normalize the counts
n = n/(Height*Width);
%get the sum of the histogram values
sprintf('the sum of the histogram value is = %g',sum(n));
%
subplot(2,2,4),plot(Binsx,n,'k')
xlabel('pixel value'),ylabel('relative count')
H2 = sum(-n.*log2(n));
sprintf('the entropy of the image is = %g',H2)
%get the graph of the entropy values
figure(),plot(H,H2);
xlabel('image number'),ylabel('entropy value')
1 Comment
Image Analyst
on 25 Nov 2018
Do you want both entropy values on one graph? Why not use bar() instead of plot()?
Accepted Answer
KALYAN ACHARJYA
on 25 Nov 2018
I=imread('test.png');
I2=imread('test.jpg');
x=entropy(I);
x2=entropy(I2);
bar([x x2]);
set(gca,'xticklabel');
title('Entropy of Two Images');
![rrr.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/196625/rrr.png)
Another Way:
I=imread('test.png');
I2=imread('test.jpg');
x=entropy(I);
x2=entropy(I2);
bar(1,x);
hold on;
bar(2, x2,'r');
bar_name={'Image 1' 'Image 2'};
legend(bar_name,'location','northwest');
title('Entropy of Two Images');
![yy.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/196627/yy.png)
2 Comments
KALYAN ACHARJYA
on 25 Nov 2018
Welcome @Ishara
I'm glad, it helped.
Good Wishes
Regards,
Kalyan Acharjya
More Answers (0)
See Also
Categories
Find more on Image Processing and Computer Vision in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!