基于NIQE算法的图像无参考质量评价算法matlab仿真

1.算法运行效果图预览

 

 

 

2.算法运行软件版本

MATLAB2022a

 

 

3.算法理论概述

       NIQE(Naturalness Image Quality Evaluator)算法是一种无参考图像质量评价算法,旨在评估图像的自然度,即图像看起来是否像自然场景。 NIQE基于一组“质量感知”特征,并将其拟合到MVG模型中。质量感知特征源于一个简单但高度正则化的NSS模型。然后,将给定的测试图像的NIQE指标表示为从测试图像中提取的NSS特征的MVG模型与从自然图像语料中提取的质量感知特征的MVG模型之间的距离。整个过程由五步操作完成:

 

3.1 空域NSS特征提取

 

3.2 图像块选取

 

       一旦图像的系数由(1)式计算出,整张图像会被分割成P × P P\times{P}P×P的块。然后从每个块的系数中计算出特殊的NSS特征。方差(3)在之前的基于NSS的图片分析中常常被忽视。但是它在结构化图片信息上有丰富的内容。这些内容可以被用来量化局部图片的锐利度。(从美学上认为一幅图片越锐利它的成像效果会越好,平滑模糊代表一种视觉信息的潜在损失。)将P × P P\times{P}P×P的图像块用b = 1 , 2 , . . . , B b=1,2,...,Bb=1,2,...,B做标记,再用一种直接的方法计算每一块b bb平均局部偏移范围:

 

3.3 MVG模型

       通过将自然图像块与MVG模型密度函数拟合,可以得到一个简单的NSS特征模型,MVG模型密度函数为:

 

3.4 NIQE指标

        NIQE分数的计算,是通过计算待测图片MVG模型参数和上面得到的自然图片MVG模型参数的距离来得到(如下式)。不过选择patch的准则(1)不应用到待测图片上,而只用在上面自然图片模型参数估计上。原因如下:

 

 

4.部分核心程序

clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default')
 
Rbk     = 48;
Cbk     = 48;
Rlap    = 0;
Clap    = 0;
%加入不同的噪声,估计图像质量
im1     = imread('1.bmp');
quality1= func_quality(im1,Rbk,Cbk,Rlap,Clap);
 
im2     = imnoise(im1,'salt & pepper',0.001); %加入不同的噪声,估计图像质量
quality2= func_quality(im2,Rbk,Cbk,Rlap,Clap);
 
 
im3     = imnoise(im1,'salt & pepper',0.01); %加入不同的噪声,估计图像质量
quality3= func_quality(im3,Rbk,Cbk,Rlap,Clap);
 
im4     = imnoise(im1,'salt & pepper',0.05); %加入不同的噪声,估计图像质量
quality4= func_quality(im4,Rbk,Cbk,Rlap,Clap);
 
im5     = imnoise(im1,'salt & pepper',0.1); %加入不同的噪声,估计图像质量
quality5= func_quality(im5,Rbk,Cbk,Rlap,Clap);
 
im6     = imnoise(im1,'salt & pepper',0.25); %加入不同的噪声,估计图像质量
quality6= func_quality(im6,Rbk,Cbk,Rlap,Clap);
 
 
figure;
subplot(231);
imshow(im1);
title(['质量估计值:',num2str(100/quality1)]);
 
subplot(232);
imshow(im2);
title(['质量估计值:',num2str(100/quality2)]);
 
subplot(233);
imshow(im3);
title(['质量估计值:',num2str(100/quality3)]);
 
subplot(234);
imshow(im4);
title(['质量估计值:',num2str(100/quality4)]);
 
subplot(235);
imshow(im5);
title(['质量估计值:',num2str(100/quality5)]);
 
subplot(236);
imshow(im6);
title(['质量估计值:',num2str(100/quality6)]);

  

posted @ 2024-02-13 22:16  简简单单做算法  阅读(125)  评论(0编辑  收藏  举报