I want to measure entropy and PSNR to N number of images

2 views (last 30 days)
clc
clear all
srcFiles = dir('----\*.jpg'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('----',srcFiles(i).name);
I = imread(filename);
end
E = entropy(I);
It returns to me one value only.

Accepted Answer

Image Analyst
Image Analyst on 23 Apr 2017
Edited: Image Analyst on 23 Apr 2017
Yes that's true. You're only calling it on the very last image you read in. If you want a value for every image, put it in the loop and index it.
for i = 1 : length(srcFiles)
filename = strcat('----',srcFiles(i).name);
I = imread(filename);
E(i) = entropy(I);
end
If you want a value for every pixel in the image, use entropyfilt() instead of entropy().
entropyImage{i} = entropyfilt(I);
You can compute PSNR with the Image Processing Toolbox function called psnr().

More Answers (0)

Community Treasure Hunt

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

Start Hunting!