11种图像清晰度评价函数
典型无参考图像清晰度评价(可用作对焦评价函数)
Tenengrad评价函数
Tenengrad函数是一种由Tenenbaum提出的,基于梯度的常用图像清晰度评价函数。特南梯度。
在图像处理中,一般认为对焦好的图像具有更尖锐的边缘,故具有更大的梯度函数值。
Tenengrad函数使用Sobel算子提取水平和垂直方向的梯度值,求其平方和作为评价函数。
具体过程如下:
设Sobel卷积核为,则图像在点处的梯度
定义该图像的Tenengrad值为:(其中为图像中像素总数)这个求了平均
或不求平均:评价函数F(k):
其中:T是给定的边缘检测阈值。
View Code
Laplacian 梯度函数
利用Laplacian算子对图像进行模板卷积得到图像的高频分量,然后可以对图像的高频分量求和,用高频分量和作为图像的清晰度评价标准。
对于一个M×N像素的图像,每个像素的亮度为g(x,y),进行滤波模板卷积后每个像素点值为z(x,y)。则图像清晰度评价函数:
Laplacian算子:z(x,y)=g(x-1,y)+g(x+1,y)+g(x,y-1)+g(x,y+1)一4g(x,y)
梯度算子为水平方向和垂直方向两个,高通滤波算子只有一个
SMD(灰度差分绝对值之和,Sum of Modulus of gray Difference )函数
用差分绝对值代替乘方和开方,即对点(x,y)及其邻近点的灰度作差分运算,提取该点灰度值的变化大小,得出图像灰度差分绝对值之和算子。
灰度差分绝对值之和具有较好的计算性能,但其缺点也很明显,即在焦点附近灵敏度不高,即该函数在极值点附近过于平坦,从而导致聚焦精度难以提高。
在文章《一种快速高灵敏度聚焦评价函数》中提出了一种新的评价函数,称之为灰度差分绝对值乘积法,即对每一个像素领域两个灰度差相乘后再逐个像素累加。
“基于图像处理的自动对焦技术研究”,对焦过程中的一个重要阶段是图像清晰度评价,博主自己用MATLAB实现了4类清晰度评价函数:基于图像梯度的清晰度评价函数、频域评价函数、信息熵评价函数、统计学评价函数,总计11种。博主之前没有用过MATLAB,完全是本科论文需要,没办法对着别人的代码生看,虽然没学过matlab的基础知识,但是毕竟学过好几门语言,都是差不多的,还是能看懂的。需要哪部分知识就在网上搜,虽然没有一样的,但是会搜到相关的,看懂了之后,实现自己的代码。
其中基于图像梯度的清晰度评价函数博主很大一部分借鉴他人上传的毕设代码,在此附上链接。
http://www.pudn.com/Download/item/id/1394579.html
一、基于图像梯度的清晰度评价函数
这类算法的实质是图像处理知识,因为博主报考研究生时选的图像处理方向,所以本科毕业论文找了一位这方面的指导老师。
正焦的清晰图像比模糊的离焦图像边缘更加锐利清晰,边缘像素灰度值变化大,因而有更大的梯度值。在进行图像处理时,将图像看作二维离散矩阵,利用梯度函数获取图像灰度信息,以此来评判图像清晰度。在离散信号中梯度表现为差分形式。常用的梯度函数有:能量梯度函数EOG、Roberts函数、Tenengrad函数、Brenner函数、方差Variance函数、拉普拉斯Laplace函数等等。下面分别对其进行介绍,其中表示对应像素点的灰度值。
1.能量梯度函数(Energy of Gradient,EOG)
将 x 方向和 y 方向的相邻像素的灰度值之差[]的平方和作为每个像素点的梯度值,对所有像素梯度值累加作为清晰度评价函数值,表达式如下所示:
matlab代码如下:
%EOG(Energy Of Grad)
N1 = 5; %要处理的图片张数
A = zeros(1,N1); %存储每一幅图像清晰度评价值
X = zeros(1,N1); %存储做归一化处理后的评价值
tic %计时
for L=1: N1
I=imread([int2str(L),'.jpg']); %连续读取图片
I=double(I);
[M N]=size(I);
FI=0;
for x=1:M-1
for y=1:N-1
% x方向和y方向的相邻像素灰度值只差的的平方和作为清晰度值
FI=FI+(I(x+1,y)-I(x,y))*(I(x+1,y)-I(x,y))+(I(x,y+1)-I(x,y))*(I(x,y+1)-I(x,y));
end
end
A(1,L) = FI;
end
time=toc
%--------------------------------
%对图像清晰度值做归一化处理,线性函数归一化公式
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
%做曲线拟合输出函数曲线
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2);
Y=polyconf(p,x1,y1);
plot(x1,y1,'y');
hold on;
2.Roberts函数
Roberts函数与能量梯度函数相似,它是利用对角方向像素点灰度值之差。将4个相邻像素点的灰度值交叉相减的平方和作为每个像素点的梯度值,对所有像素梯度值累加作为清晰度评价函数值,表达式如下式所示:
%Roberts
N1 = 5;
A = zeros(1,N1);
X = zeros(1,N1);
tic
for L=1: N1
I=imread([int2str(L),'.jpg']);
I=double(I);
[M N]=size(I);
FI=0;
%Robert算子原理,对角方向相邻的两像素之差
for x=1:M-1
for y=1:N-1
FI= FI + (abs(I(x,y)-I(x+1,y+1))+abs(I(x+1,y)-I(x,y+1)));
end
end
A(1,L) = FI;
end
time=toc
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2);
Y=polyconf(p,x1,y1);
plot(x1,y1,'c');
hold on;
3.Tenengrad函数
采用Sobel算子提取像素点水平方向和垂直方向的梯度值,Tenengrad函数定义为像素点梯度的平方和,并为梯度设置一个阈值T调节函数的灵敏度。表达式如下式所示:
代码:
%Tenengrad
N1 =5;
A = zeros(1,N1);
X = zeros(1,N1);
tic
for L=1: N1
I=imread([int2str(L),'.jpg']);
I=double(I);
[M N]=size(I);
%利用sobel算子gx,gy与图像做卷积,提取图像水平方向和垂直方向的梯度值
GX = 0; %图像水平方向梯度值
GY = 0; %图像垂直方向梯度值
FI = 0; %变量,暂时存储图像清晰度值
T = 0; %设置的阈值
for x=2:M-1
for y=2:N-1
GX = I(x-1,y+1)+2*I(x,y+1)+I(x+1,y+1)-I(x-1,y-1)-2*I(x,y-1)-I(x+1,y-1);
GY = I(x+1,y-1)+2*I(x+1,y)+I(x+1,y+1)-I(x-1,y-1)-2*I(x-1,y)-I(x-1,y+1);
SXY= sqrt(GX*GX+GY*GY); %某一点的梯度值
%某一像素点梯度值大于设定的阈值,将该像素点考虑,消除噪声影响
if SXY>T
FI = FI + SXY*SXY; %Tenengrad值定义
end
end
end
A(1,L) = FI;
end
time=toc
% X = zeros(1,N1);
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2);
Y=polyconf(p,x1,y1);
plot(x1,y1,'g');
hold on;
4.Brenner函数
又称梯度滤波器法,只需计算x方向上相差两个像素点的差分,即计算二阶梯度,计算量少,表达式如下所示:
代码:
%Brenner
N1 = 5; %N1为要处理的图片张数
A = zeros(1,N1); %zeros()定义指定行列的零矩阵;A矩阵用来存储每一幅图像的清晰度原值
X = zeros(1,N1); %X用来存储做归一化处理后的函数值
%------------------------------
tic
for L=1: N1
I=imread([int2str(L),'.jpg']); %读取图片,将值转换为字符串接受向量和矩阵输入
I=double(I); %精度存储问题
[M N]=size(I); %M等于矩阵行数,N等于矩阵列数;size()获取矩阵行列
FI=0; %变量,暂时存储每一幅图像的Brenner值
for x=1:M-2 %Brenner函数原理,计算相差两个位置的像素点的灰度值
for y=1:N
FI=FI+(I(x+2,y)-I(x,y))*(I(x+2,y)-I(x,y));
end
end
A(1,L) = FI;
end
time=toc
%对原始数据做归一化处理,线性函数归一化公式
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
%曲线拟合
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2); %polyfit(x,y,n)曲线拟合函数,已知离散点坐标拟合曲线;x,y横纵坐标,n为拟合阶数,一阶直线拟合,二阶抛物线拟合 ,返回幂次从高到低的多项式系数向量P,矩阵S用于生成预测值的误差估计
Y=polyconf(p,x1,y1); %置信区间
plot(x1,y1,'r'); %画出拟合曲线,红线red
title('梯度评价函数');
xlabel('成像面位置');
ylabel('归一化后的图像清晰度评价值');
hold on;
5.Variance方差函数
Variance函数表示图像灰度分布的离散程度。离焦图像灰度值变换范围小,离散程度低,方差小;正焦图像灰度值变换范围大,离散程度高,方差大。因此可以用其作为评价函数,对于M*N大小的图像表达式如下式所示:
代码:
%Variance
N1 = 5;
A = zeros(1,N1);
X = zeros(1,N1);
tic
for L=1: N1
I=imread([int2str(L),'.jpg']);
I=double(I);
[M N]=size(I);
gama = 0; %gama图像平均灰度值
%求gama
for x=1:M
for y=1:N
gama = gama + I(x,y);
end
end
gama = gama/(M*N);
FI=0;
for x=1:M
for y=1:N
FI=FI+(I(x,y)-gama)*(I(x,y)-gama);
end
end
A(1,L) = FI;
end
time=toc
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2);
Y=polyconf(p,x1,y1);
plot(x1,y1,'b');
hold on;
6. Laplace拉普拉斯函数
采用Laplace算子与图像各个像素点的灰度值进行卷积得到一个梯度矩阵记为,取各像素点梯度的平方和作为评价函数,如下式所示:
代码:
%Laplace
N1 = 5;
A = zeros(1,N1);
X = zeros(1,N1);
tic
for L=1: N1
I=imread([int2str(L),'.jpg']);
I=double(I);
[M N]=size(I);
FI=0;
for x=2:M-1
for y=2:N-1
IXXIYY = -4*I(x,y)+I(x,y+1)+I(x,y-1)+I(x+1,y)+I(x-1,y);
FI=FI+IXXIYY*IXXIYY; %取各像素点梯度的平方和作为清晰度值
end
end
A(1,L) = FI;
end
time=toc
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2);
Y=polyconf(p,x1,y1);
plot(x1,y1,'m');
hold off;
二:频域评价函数
1.基于二维离散傅里叶变换的图像清晰度评价函数
其中,加权系数表示像素到中心像素的距离,其作用为强调频谱中的高频成分。因为图像经过傅里叶变换和移位后,频率分布为从中央到四周边缘从低频向高频扩散;M,N 为图像尺寸;P(u,v)表示图像的频谱的平方。
代码:
%DFT
N1 = 5; %N1要处理的图像张数
A = zeros(1,N1); %A向量用来存储每一幅图像的清晰度原值
X = zeros(1,N1); %X用来存储做归一化处理后的清晰度函数值
%----------------------
tic
for L=1: N1
I=imread([int2str(L),'.jpg']);
I=rgb2gray(I);
I=double(I);
[M N]=size(I);
fftI = fft2(I); %进行二维离散傅里叶变换
sfftI = fftshift(fftI); %移位,直流分量移到图像中心
magnitude = abs(sfftI); %取模值
FI=0;
for u=1:M
for v=1:N
FI=FI+sqrt(u*u+v*v)*magnitude(u,v); %基于离散傅里叶变换的清晰度评价函数
end
end
A(1,L) = FI/(M*N);
end
time=toc
%对原始数据做归一化处理,线性函数归一化公式
%-------------------------
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
%曲线拟合,0为正焦位置,离焦-正焦-离焦
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2); %polyfit(x,y,n)曲线拟合函数,已知离散点坐标拟合曲线;x,y横纵坐标,n为拟合阶数,一阶直线拟合,二阶抛物线拟合 ,返回幂次从高到低的多项式系数向量P,矩阵S用于生成预测值的误差估计
Y=polyconf(p,x1,y1); %置信区间
plot(x1,y1,'b'); %画出拟合曲线,红线red
title('频域评价函数');
xlabel('成像面位置');
ylabel('归一化后的图像清晰度评价值');
hold on;
2.离散余弦变换DCT
基于DFT的评价函数灵敏度高,但傅里叶变换系数是复数,计算量大。离散余弦变换DCT对此进行改进,变换系数是实数,计算量减少且同样可以表示图像频率分布信息。对于一幅M*N的图像,基于离散余弦变换DCT变换的清晰度评价函数定义如下:
%DCT
N1 = 5; %N1要处理的图像张数
A = zeros(1,N1); %A向量用来存储每一幅图像的清晰度原值
X = zeros(1,N1); %X用来存储做归一化处理后的清晰度函数值
%----------------------
tic
for L=1: N1
I=imread([int2str(L),'.jpg']);
I=rgb2gray(I);
I=double(I)+10*randn(size(I));
[M N]=size(I);
dctI = dct2(I); %进行二维离散傅里叶变换
magnitude = abs(dctI); %取模值
FI=0;
for u=1:M
for v=1:N
FI=FI+(u+v)*magnitude(u,v); %基于离散傅里叶变换的清晰度评价函数
end
end
A(1,L) = FI/(M*N);
end
time=toc
%对原始数据做归一化处理,线性函数归一化公式
%-------------------------
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
%曲线拟合,0为正焦位置,离焦-正焦-离焦
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2); %polyfit(x,y,n)曲线拟合函数,已知离散点坐标拟合曲线;x,y横纵坐标,n为拟合阶数,一阶直线拟合,二阶抛物线拟合 ,返回幂次从高到低的多项式系数向量P,矩阵S用于生成预测值的误差估计
Y=polyconf(p,x1,y1); %置信区间
plot(x1,y1,'r'); %画出拟合曲线,红线red
hold off;
三、基于信息熵的清晰度评价函数
在信息论中,熵用来描述信息的丰富程度。信息熵评价函数基于正焦图像中具有多样性的灰度分布,像素灰度值分布区间广,灰度值之间差异大,此时熵值大;离焦图像正好相反。因此可以基于信息熵构造清晰度评价函数,定义如下:
代码:
%entropy
N1 = 5; %N1为要处理的图片张数
A = zeros(1,N1); %zeros()定义指定行列的零矩阵;A矩阵用来存储每一幅图像的清晰度原值
X = zeros(1,N1); %X用来存储做归一化处理后的函数值
%处理图片
tic
for L=1: N1
I=imread([int2str(L),'.jpg']); %读取图片,将值转换为字符串接受向量和矩阵输入
I=rgb2gray(I);
I=double(I);
A(1,L)=entr(I); %调用求熵值函数
end
time=toc
%对原始数据做归一化处理,线性函数归一化公式
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2); %polyfit(x,y,n)曲线拟合函数,已知离散点坐标拟合曲线;x,y横纵坐标,n为拟合阶数,一阶直线拟合,二阶抛物线拟合 ,返回幂次从高到低的多项式系数向量P,矩阵S用于生成预测值的误差估计
Y=polyconf(p,x1,y1); %置信区间
plot(x1,y1,'r'); %画出拟合曲线,红线red
title('基于信息熵的评价函数');
xlabel('成像面位置');
ylabel('归一化后的图像清晰度评价值');
%定义子函数entr(),求一幅图像的熵值
%-------------------------------------------
function[H_img]= entr(I)
[C,R]=size(I); %求图像的规格
Img_size=C*R; %图像像素点的总个数
L=256; %图像的灰度级0-255
H_img=0; %图象熵
nk=zeros(L,1); %存储图像灰度出现次数
for i=1:C
for j=1:R
Img_level=I(i,j)+1; %获取图像的灰度级
nk(Img_level)=nk(Img_level)+1; %统计每个灰度级像素的点数
end
end
for k=1:L
Ps(k)=nk(k)/Img_size; %计算每一个灰度级像素点所占的概率
if Ps(k)~=0 %去掉概率为0的像素点
H_img=-Ps(k)*log2(Ps(k))+H_img; %求熵值的公式
end
end
end
四、基于统计学的清晰度评价函数
1.Range函数
Range函数基于灰度直方图中灰度带的变化大小反映清晰度,定义如下所示:
代码:
%Range
N1 =5;
gray_level = 32; %灰度直方图中划分的灰度等级
temp=zeros(1,gray_level);
A = zeros(1,N1);
X = zeros(1,N1);
tic
for L=1: N1
I=imread([int2str(L),'.jpg']); %读取图片,将值转换为字符串接受向量和矩阵输入
I=rgb2gray(I);
I=double(I); %-------没做数值类型,出错,曲线相反----------
[count,K] = imhist(I,gray_level);%imhist()画灰度分布直方图,count表示某一灰度区间的像素个数,K表示灰度区间取值
for y=1:gray_level
temp(1,y)=count(y)*K(y);
end
A(1,L)=max(temp)-min(temp);
end
time=toc
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2); %polyfit(x,y,n)曲线拟合函数,已知离散点坐标拟合曲线;x,y横纵坐标,n为拟合阶数,一阶直线拟合,二阶抛物线拟合 ,返回幂次从高到低的多项式系数向量P,矩阵S用于生成预测值的误差估计
Y=polyconf(p,x1,y1); %置信区间
plot(x1,y1,'g'); %画出拟合曲线,红线red
title('统计学评价函数');
xlabel('成像面位置');
ylabel('归一化后的图像清晰度评价值');
hold on
2 Vollaths函数
Vollaths函数又称自相关函数,反映空间两点的相似性。正焦图像边缘清晰锐利,像素点之间相关程度低;离焦图像像素点相关程度高。清晰度评价函数如下所示:
.代码:
%vollaths
N1 = 5; %N1为要处理的图片张数
A = zeros(1,N1); %zeros()定义指定行列的零矩阵;A矩阵用来存储每一幅图像的清晰度原值
X = zeros(1,N1); %X用来存储做归一化处理后的函数值
%用一个for循环处理每一张图片
tic
for L=1: N1
I=imread([int2str(L),'.jpg']); %读取图片,将值转换为字符串接受向量和矩阵输入
I=double(I); %精度存储问题
[M N]=size(I); %M等于矩阵行数,N等于矩阵列数;size()获取矩阵行列数
%begintime=clock;
FI=0; %变量,暂时存储每一幅图像的Brenner值
for x=1:M-2 %Brenner函数原理,计算相差两个位置的像素点的灰度值
for y=1:N
FI=FI+I(x,y)*abs(I(x+1,y)-I(x+2,y));
end
end
%time=etime(clock,begintime);
A(1,L) = FI;
end
time=toc
%对原始数据做归一化处理,线性函数归一化公式
for W = 1:N1
C = max(A);
D = min(A);
E = C-D;
R = (A(1,W) - D)/(E);
X(1,W) = R;
end
x1=[-20 -10 0 10 20 ];
y1 = [X(1,1) X(1,2) X(1,3) X(1,4) X(1,5)];
[p,S]=polyfit(x1,y1,2); %polyfit(x,y,n)曲线拟合函数,已知离散点坐标拟合曲线;x,y横纵坐标,n为拟合阶数,一阶直线拟合,二阶抛物线拟合 ,返回幂次从高到低的多项式系数向量P,矩阵S用于生成预测值的误差估计
Y=polyconf(p,x1,y1); %置信区间
plot(x1,y1,'r'); %画出拟合曲线,红线red
hold off
以下是博主的仿真结果:
梯度
频域
信息熵
统计学
初次接触这方面的内容,不足之处,请谅解。
11种图像清晰度评价函数相关推荐
- 11种图像清晰度评价函数附MATLAB代码
本科毕业论文"基于图像处理的自动对焦技术研究",对焦过程中的一个重要阶段是图像清晰度评价,我用MATLAB实现了4类清晰度评价函数:基于图像梯度的清晰度评价函数.频域评价函数.信息 ...
- 一种新的图像清晰度评价函数,数字图像清晰度评价函数的研究与改进
摘要: 摘 要: 通过分析常见的图像清晰度评价函数,针对自动对焦系统中图像清晰度评价问题,提出了一种基于聚焦窗口的改进梯度评价函数算法.改进后的算法具有计算量小.实时性好.评价曲线单峰性好.灵敏度高 ...
- 一种新的图像清晰度评价函数
自动聚焦是机器人视觉.数字视频系统中的关键技术之--,是决定图像质量的重要因素,是获取清晰图 像的第1步.聚焦性能取决于调焦评价函数的准确性和有效性,即评价函数必须具有无偏性好.单峰性强和 较好的抗噪 ...
- 图像处理:图像清晰度评价
目录 0.实现效果 1.概述 2.模糊度分类 1.运动模糊 2.压缩模糊 3.高斯模糊 3.清晰度量化指标 Brenner 能量梯度函数(Energy of Gradient) 编辑 Roberts ...
- 图像清晰度评价15种方法对比
在无参考图像的质量评价中,图像的清晰度是衡量图像质量优劣的重要指标,它能够较好的与人的主观感受相对应,图像的清晰度不高表现出图像的模糊.本文针对无参考图像质量评价应用,对目前几种较为常用的.具有代表性 ...
- 图像清晰度计算的3种方法
相机的自动对焦要求根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面.这时候物体的成像比较清洗,图像细节信息丰富. 图像清晰 ...
- 图像清晰度的评价及分析
在无参考图像的质量评价中,图像的清晰度是衡量图像质量优劣的重要指标,它能够较好的与人的主观感受相对应,图像的清晰度不高表现出图像的模糊.本文针对无参考图像质量评价应用,对目前几种较为常用的.具有代表性 ...
- 图像清晰度的评价指标
无参考图像的清晰度评价方法 from: http://nkwavelet.blog.163.com/blog/static/227756038201461532247117 在无参考图像的质量 ...
- 无参考图像清晰度评价
转自: http://nkwavelet.blog.163.com/blog/static/227756038201461532247117 在无参考图像的质量评价中,图像的清晰度是衡量图像质量优劣的 ...
最新文章
- RHCE认证培训+考试七天实录(二)
- [linux]查看linux下端口占用
- 亲身验证切实可行的python项目部署方案
- 1分钟学会python_快速入门:十分钟学会Python
- sudo: unable to resolve host iZ2zecsdy8flu603bmdg1bZ
- python京东自动签到_python自动签到领京东《豆豆》
- 互联网产品运营日记(1):上线首日
- both methods have same erasure, yet neither overrides the other
- 西部数据推出10TB容量监控级硬盘
- linux蓝牙接收文件路径,在Linux中设置蓝牙,方便文件传输、连接耳麦
- 五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc
- 微信小程序拒绝定位之后 如何再次开启以及判断是否打开了系统定位功能
- 【洞察人性】 理解行为背后的动机
- 简单的popupwindow提示框
- UE4 蓝图Structure与Json的读写
- linux shell sed 单引号, 双引号,反引号, 斜杆, 反斜杆(‘ “ ` / \)
- rstudio安装后如何打开_【R教程】R与RStudio简介及安装
- 基于springboot+jsp的商场停车场服务管理信息系统
- 谷歌眼镜开发Mirror API之Java开发
- redshift和谐版安装
热门文章
- gis环境设置在哪_三维GIS平台的可视化应用 (下)
- oracle查看语句执行历史,AWT查看oracle历史sql语句执行
- nginx 加路由时报错_Nginx自定义模块编写:根据post参数路由到不同服务器
- php引用下级目录文件夹,使用PHP遍历文件夹与子目录的函数代码
- mysql在linux下显示花_在Linux 中搭建 Mysql
- mysql 开启innodb win版本_MySQL安装与启动——Windows系统下
- 服务器双网卡设置安全_服务器硬件介绍之服务器主板
- 当电路与艺术相结合,美的让人窒息!
- 看技术笔记,提高嵌入式基础
- hook koa web 码云_gitee码云使用webhook