كيفية حساب PSNR

Posted on
مؤلف: Monica Porter
تاريخ الخلق: 22 مارس 2021
تاريخ التحديث: 18 شهر نوفمبر 2024
Anonim
Calculating PSNR MSE SSIM using MATLAB
فيديو: Calculating PSNR MSE SSIM using MATLAB

نسبة ذروة الإشارة إلى الضوضاء (PSNR) هي النسبة بين القدرة القصوى للإشارات وقوة ضوضاء الإشارات. يستخدم المهندسون عادة PSNR لقياس جودة الصور التي أعيد بناؤها والتي تم ضغطها. كل عنصر صورة (بكسل) له قيمة لون يمكن أن تتغير عندما يتم ضغط الصورة ثم فك ضغطها. يمكن أن يكون للإشارات نطاق ديناميكي واسع ، لذلك يتم التعبير عن PSNR عادة بالديسيبل ، وهو مقياس لوغاريتمي.


    تحديد بيل و ديسيبل. يتم تعريف البيل رياضيا بأنها LB = log10 (P1 / P0) حيث P1 و P0 هما كميتان في نفس وحدات القياس. ديسيبل هو 0.1 بيل ، لذلك قيمة ديسيبل LdB هي LdB = 10 log10 (P1 / P0).

    حدد متوسط ​​الخطأ التربيعي (MSE) بين صورتين أحادية اللون ، حيث تعتبر إحدى الصور تقريبية للصورة الأخرى. يمكن وصف MSE على أنها متوسط ​​مربع الاختلافات في قيم البكسل بين البكسلات المقابلة للصورتين.

    Express MSE من الناحية الرياضية من الوصف في الخطوة 1. لذلك لدينا MSE = 1 / mn حيث I و K هما مصفوفات تمثلان الصور قيد المقارنة. يتم تنفيذ المجموعتين للأبعاد "i " و "j. " لذلك أنا (i ، j) تمثل قيمة البكسل (i ، j) للصورة I.

    حدد الحد الأقصى للقيمة الممكنة للبكسل في الصورة I. عادةً ، يمكن إعطاء هذا كـ (2 ^ n) - 1 حيث n هو عدد البتات التي تمثل البيكسل. وبالتالي ، فإن الحد الأقصى لقيمة البكسل 8 بت هو (2 ^ 8) - 1 = 255. دع القيمة القصوى للبكسل في الصورة هي MAX.

    التعبير عن PSNR في ديسيبل. من الخطوة 1 ، لدينا قيمة الديسيبل LdB مثل LdB = 10 log10 (P1 / P0). والآن دع P1 = MAX ^ 2 و P0 = MSE. لدينا بعد ذلك PSNR = 10 log10 (MAX ^ 2 / MSE) = 10 log10 (MAX / (MSE) ^ (1/2)) ^ 2 = 20 log10 (MAX / (MSE) ^ (1/2)). لذلك ، PSNR = 20 log10 (MAX / (MSE) ^ (1/2)).