【图像评价】基于matlab无参考图像质量评价NIQE【含Matlab源码681期】

更新时间:2023-06-24 11:47:16 阅读: 评论:0

【图像评价】基于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.

本文发布于:2023-06-24 11:47:16,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1028469.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像处理   实例   评价   图像   参考
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图