[Image evaluation] Image quality evaluation without reference based on matlab SVM [Include Matlab source code 078]

1. Introduction

Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here

Second, the source code

 
load ./CID2013.mat; %% You can also load the files of 'CSIQ.mat' or 'TID13.mat' if you want to use CSIQ or TID2013 database for training.
train_data = Data(:,[1:5]);
train_label = Data(:, 6);
model = svmtrain(train_label, train_data, '-s 3');  % train
 
%img = imread('.\input\TV_VR\Fig.7_RTV.jpg');
img=imread('img004.png');
disim = img;
 
if numel(size(disim))>2     %% Is a rgb image ?
    dis_file_gray = rgb2gray(disim);
else
    dis_file_gray = disim;
end
 
i = 1;
    %% mean value
   mean_tmp = round(mean2(dis_file_gray));        
   Value(i, 1) = 1/(sqrt(2*pi)*26.0625)*exp(-(mean_tmp-118.5585)^2/(2*26.0625^2));
        
   %% std value
   std_tmp = round(std2(dis_file_gray));
   Value(i, 2) = 1/(sqrt(2*pi)*12.8584)*exp(-(std_tmp-57.2743)^2/(2*12.8584^2));
        
  %% entropy value
   entropy_tmp = entropy(dis_file_gray);
   Value(i, 3) = 1/0.2578*exp((entropy_tmp-7.5404)/0.2578)*exp(-exp((entropy_tmp-7.5404)/0.2578));
        
  %% kurtosis value
   kurtosis_tmp = kurtosis(double(dis_file_gray(:)));       
   Value(i, 4) = sqrt(19.3174/(2*pi*kurtosis_tmp^3))*exp(-19.3174*(kurtosis_tmp-2.7292)^2/(2*(2.7292^2)*kurtosis_tmp));
        
  %% skewness value
   skewness_tmp = skewness(double(dis_file_gray(:)));
   Value(i, 5) = 1/(sqrt(2*pi)*0.6319)*exp(-(skewness_tmp-0.1799)^2/(2*0.6319^2));
   
test_label = 0;
[predicted_label, accuracy, decision_values] = svmpredict(test_label, Value, model);
Score = predicted_label;
disp('Score:');
disp(Score );
 

3. Remarks

Complete code or writing add QQ2449341593 past review
>>>>>>
[Matlab 024] [Image processing 1] Image compression of Matlab image processing tutorial series
[Matlab 025] [Image processing 2] Matlab image processing tutorial series Image segmentation (1)
[Matlab 026 issue] [Image processing 3] Image segmentation of Matlab image processing tutorial series (2)
[Matlab 029] [Image processing 4] Matlab fingerprint recognition
[Matlab 030] [Image processing 5] Bank Card number recognition matlab source code
[Matlab 074] [Image processing 6] [Image clustering] Based on FCM and improved FCM brain CT image clustering processing
[Matlab 075] [Image processing 7] [Image evaluation] Based on CCF algorithm Image quality evaluation
[Matlab 076] [Image processing 8] [Image enhancement] CLAHE algorithm based on local contrast enhancement-histogram enhancement
[Matlab 077] [Image processing 9] [Image fusion] Image fusion based on Frequency Partition
[ Matlab Issue 079] [Image Processing 11] [Image Edge Detection] Matlab source code for ellipse edge detection based on least squares

Guess you like

Origin blog.csdn.net/TIQCmatlab/article/details/112986588