本节主要参考的文献是:
Leida, Shen, Jinjian, et al. No-Reference Quality Assessment of Enhanced Images[J]. 中国通信:英文版, 2016(9):121-130.
主要思想
本文主要是提取增强之后图像的多种特征来评价图像的质量分数,本文主要介绍相关的思想。
这篇文章主要提取五种主要的特征:非结构性特征--色彩连续性、色彩丰富度、对比度、光照度和熵。文中提出还用另外两个特征--锐 化度和自然特征,只不过这两种特征在其他论文中已经有介绍,就不介绍了。
色彩连续性:对于彩色图像,先转换为HSI空间图像。对于某个像素,如果其色调(hue)跟周围像素的色调不一致,那么就认为这
色彩丰富度:高质量的图像,其色彩也更丰富。
对比度:可以用图像直方图来表示,对比度越丰富,那么,直方图也就越均匀。感觉此处没有创新点
clc;
clear all;
load modelparameters.mat %Import variables % mu_prisparam - mean of multivariate Gaussian model
% cov_prisparam - covariance of multivariate Gaussian model
blocksizerow = 96;%Height of the blocks in to which image is divided
blocksizecol = 96;%Width of the blocks in to which image is divided
blockrowoverlap = 0;%Amount of vertical overlap between blocks
blockcoloverlap = 0;%Amount of horizontal overlap between blocks
path ='D:\0 Matlab\3 Matlab 图像处理\图像分级\niqe_release\niqe_release\test\';%Image path
N1=160;%Number of images
for L=1: N1
a = sprintf('%03d',L);%Similar to ‘0001’ as the prefix, the numbers increase in order
im=imread([path,'image',num2str(a),'.png']); %Read pictures continuously
quality(L)=computequality(im,blocksizerow,blocksizecol,blockrowoverlap,blockcoloverlap, ...
mu_prisparam,cov_prisparam);%Calculation of image quality
end
MappedFlattened = mapminmax( quality, 0, 1); % The normalized.
mkdir('D:\0 Matlab\3 Matlab 图像处理\图像分级\niqe_release\niqe_release\result\');% Create Image Save Path
path1='D:\0 Matlab\3 Matlab 图像处理\图像分级\niqe_release\niqe_release\result\';%Image Save Path
for i=1:length(MappedFlattened )
s=MappedFlattened(i);%Read normalized image quality
if s<=0.1
a = sprintf('%03d',i);%Similar to ‘0001’ as the prefix, the numbers increase in order
im=imread([path,'image',num2str(a),'.png']); %Read pictures continuously
imwrite(im,[path1,'1级_','image',num2str(a),'.png']);%save Picture
else if s<=0.30
a = sprintf('%03d',i);%Similar to ‘0001’ as the prefix, the numbers increase in order
im=imread([path,'image',num2str(a),'.png']); %Read pictures continuously
imwrite(im,[path1,'2级_','image',num2str(a),'.png']);%save Picture
else if s<=0.50
a = sprintf('%03d',i);%Similar to ‘0001’ as the prefix, the numbers increase in order
im=imread([path,'image',num2str(a),'.png']); %Read pictures continuously
imwrite(im,[path1,'3级_','image',num2str(a),'.png']);%save Picture
else if s<=0.7
a = sprintf('%03d',i);%Similar to ‘0001’ as the prefix, the numbers increase in order
im=imread([path,'image',num2str(a),'.png']); %Read pictures continuously
imwrite(im,[path1,'4级_','image',num2str(a),'.png']);%save Picture
else
a = sprintf('%03d',i);%Similar to ‘0001’ as the prefix, the numbers increase in order
im=imread([path,'image',num2str(a),'.png']); %Read pictures continuously
imwrite(im,[path1,'5级_','image',num2str(a),'.png']);%save Picture
end
end
end
end
end