For Image Quality Parameters I need to find NPCR for 2 images after encryption whose original image have 1 pixel difference. The code is:
% For Grayscale Jpeg Images
C=Cipher Image
C2c=Cipher Image after 1 Pixel difference in Original Image.
siz=M*M;
NPCR=0;
SSS=0;
for i=1:M
for j=1:M
if (C2(i,j)==C2c(i,j))
SSS=SSS;
else
SSS=SSS+1;
end
end
end
SSS=SSS/siz;
NPCR=SSS*100;
I get NPCR value=0.0015. Is my code not OK or the method for Cipher image. I should get a value around 99.67%
Suggest any solutions or error

4 Comments

Renjith V Ravi
Renjith V Ravi on 29 Dec 2016
I think the NPCR equation is wrong in your code
majed samir
majed samir on 1 Jan 2017
Edited: Walter Roberson on 1 Jan 2017
SSS=SSS/siz;
error
true is
SSS=siz/(siz+1)
LOKESH
LOKESH on 6 Jun 2018
This will always give 99.99% result..SSS=siz/(siz+1) will never need the loop..please check
Parveiz Lone
Parveiz Lone on 12 May 2020
%% 3. NCPR score and p_value
npcr_score = sum( double( img_a(:) ~= img_b(:) ) ) / num_of_pix;
npcr_mu = ( largest_allowed_val ) / ( largest_allowed_val+ 1 );
npcr_var = ( ( largest_allowed_val) / ( largest_allowed_val+ 1 )^2 ) / num_of_pix;
npcr_pVal = normcdf(npcr_score, npcr_mu, sqrt( npcr_var ) );
npcr_dist = [ npcr_mu, npcr_var ];

Sign in to comment.

 Accepted Answer

Walter Roberson
Walter Roberson on 25 Apr 2012

0 votes

The best encryption schemes would show no correlation between the encrypted versions of two original images that were nearly the same but not identical.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!