【图像评价】基于matlab⽆参考图像质量评价NIQE【含Matlab源码681期】⼀、⽆参考图像质量评价NIQE简介
理论知识参考:
⼆、部分源代码
function [mu_prisparam cov_prisparam]=estimatemodelparam(folderpath,...
blocksizerow,blocksizecol,blockrowoverlap,blockcoloverlap,sh_th)
% Input
% folderpath - Folder containing the pristine images
% blocksizerow - Height of the blocks in to which image is divided
% blocksizecol - Width of the blocks in to which image is divided
% blockrowoverlap - Amount of vertical overlap between blocks
% blockcoloverlap - Amount of horizontal overlap between blocks
% sh_th - The sharpness threshold level
%Output
%mu_prisparam - mean of multivariate Gaussian model
%cov_prisparam - covariance of multivariate Gaussian model
% Example call
%[mu_prisparam cov_prisparam]=estimatemodelparam('pristine',96,96,0,0,0.75);
%----------------------------------------------------------------
% Find the names of images in the folder
current = pwd;
cd(sprintf('%s',folderpath))
names = ls;
names =names(3:end,:);%
cd(current)
%---------------------------------------------------------------
%Number of features
%18 features at each scale
featnum =18;
%---------------------------------------------------------------
% Make the directory for storing the features
mkdir(sprintf('local_risquee_prisfeatures'))
%---------------------------------------------------------------
泊船瓜洲拼音% Compute pristine image features
for itr =1:size(names,1)
itr
im =imread(sprintf('%s\\%s',folderpath,names(itr,:)));
if(size(im,3)==3)
im =rgb2gray(im);
end
im =double(im);
[row col]=size(im);
block_rownum =floor(row/blocksizerow);
block_colnum =floor(col/blocksizecol);
im =im(1:block_rownum*blocksizerow,...
1:block_colnum*blocksizecol);
window =fspecial('gaussian',7,7/6);
window = window/sum(sum(window));
scalenum =2;
warning('off')
feat =[];
for itr_scale =1:scalenum
mu =imfilter(im,window,'replicate');
mu_sq = mu.*mu;
sigma =sqrt(abs(imfilter(im.*im,window,'replicate')- mu_sq));
structdis =(im-mu)./(sigma+1);
feat_scale =blkproc(structdis,[blocksizerow/itr_scale blocksizecol/itr_scale],...
[blockrowoverlap/itr_scale blockcoloverlap/itr_scale],...
@computefeature);
feat_scale =reshape(feat_scale,[featnum ....
size(feat_scale,1)*size(feat_scale,2)/featnum]);
feat_scale = feat_scale';
if(itr_scale ==1)
sharpness =blkproc(sigma,[blocksizerow blocksizecol],...
[blockrowoverlap blockcoloverlap],@computemean);
sharpness =sharpness(:);
房事教程
end
feat =[feat feat_scale];
im =imresize(im,0.5);
end
function quality =computequality(im,blocksizerow,blocksizecol,...
blockrowoverlap,blockcoloverlap,mu_prisparam,cov_prisparam)
% Input1
% im - Image who quality needs to be computed
% blocksizerow - Height of the blocks in to which image is divided
% blocksizecol - Width of the blocks in to which image is divided
% blockrowoverlap - Amount of vertical overlap between blocks
% blockcoloverlap - Amount of horizontal overlap between blocks
% mu_prisparam - mean of multivariate Gaussian model
% cov_prisparam - covariance of multivariate Gaussian model
% For good performance, it is advisable to u make the multivariate Gaussian model % using same size patches as the distorted image is divided in to
% Output企业研究
%quality - Quality of the input distorted image
% Example call
%quality =computequality(im,96,96,0,0,mu_prisparam,cov_prisparam)
%---------------------------------------------------------------
%Number of features
%18 features at each scale
featnum =18;
%----------------------------------------------------------------
%Compute features
if(size(im,3)==3)
泰安特色美食
im =rgb2gray(im);
end
im =double(im);
[row col]=size(im);
block_rownum =floor(row/blocksizerow);
block_colnum =floor(col/blocksizecol);
im =im(1:block_rownum*blocksizerow,1:block_colnum*blocksizecol);
[row col]=size(im);
[row col]=size(im);
block_rownum =floor(row/blocksizerow);
block_colnum =floor(col/blocksizecol);
旅游主题im =im(1:block_rownum*blocksizerow,...
1:block_colnum*blocksizecol);
window =fspecial('gaussian',7,7/6);
window = window/sum(sum(window));
scalenum =2;
warning('off')
feat =[];
三、运⾏结果
四、matlab版本及参考⽂献
1 matlab版本
2014a
2 参考⽂献大学生爱国
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华⼤学出版社,2020.
夺权犯规[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华⼤学出版社,2013.
慕斯蛋糕的做法[3]周品.MATLAB图像处理与图形⽤户界⾯设计[M].清华⼤学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华⼤学出版社,2015.