NPCR Error

2 views (last 30 days)
LOKESH
LOKESH on 25 Apr 2012
Commented: Parveiz Lone on 12 May 2020
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
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
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

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!