【毕业设计系列】024:清晰度评价指标NRSS的matlab实现

1、NRSS实现步骤

image

2、NRSS的matlab实现(部分)

需要完整程序的同学可以通过QQ(2963033731)联系我获取!

点击查看代码
%%计算图像清晰度NRSS
%%reference paper:一种针对图像模糊的无参考质量评价指标,计算机应用,谢小甫等。
clear;
close all;
img = imread('1.jpg');  %读取原始图像
N = 64;  %取方差最大的前N块
block_size = 8;  %块大小
stride = 4;  %分块步长(小于block_size时有重叠部分)
 
%%初始化
blk_count = 0;
ssim_sum = 0;
G_blk = zeros(block_size,block_size,1);
Gr_blk = zeros(block_size,block_size,1);
G_std = zeros(1);
 
%% (1)低通滤波,生成参考图像Ir
sigma = sqrt(6);
if size(img,3) == 3
    img = rgb2gray(img);  %灰度化
end
[m,n] = size(img);
gausFilter = fspecial('gaussian',[7 7],sigma);  %构建高斯滤波器
Ir = imfilter(img,gausFilter,'replicate');  %高斯滤波
figure,
subplot(121),imshow(img,[]),title('Original Image');
subplot(122),imshow(Ir,[]),title('Gaussian Filter Image');
 
%% (2)利用Sobel算子计算图像img和Ir的梯度图像G和Gr
G = edge(img,'sobel');  %用Sobel算子求梯度图像
Gr= edge(Ir,'sobel');
figure,
subplot(121),imshow(G),title('G');
subplot(122),imshow(Gr),title('Gr');

3、测试结果

image
image
image

posted @ 2022-04-11 17:08  SoaringLee_fighting  阅读(193)  评论(0编辑  收藏  举报