- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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的基础知识,但是毕竟学过好⼏门语⾔,都是差不多的,还是能看懂的。需
要哪部分知识就在⽹上搜,虽然没有⼀样的,但是会搜到相关的,看懂了之后,实现 ⾃⼰的代码。
其中基于图像梯度的清晰度评价函数博主很⼤⼀部分借鉴他⼈上传的毕设代码,在此附上链接。
⼀、基于图像梯度的清晰度评价函数
这类算法的实质是图像处理知识,因为博主报考研究⽣时选的图像处理⽅向,所以本科毕业论⽂找了⼀位这⽅⾯的指导⽼师。
正焦的清晰图像⽐模糊的离焦图像边缘更加锐利清晰,边缘像素灰度值变化⼤,因⽽有更⼤的梯度值。在进⾏图像处理时,将图像看作⼆维
离散矩阵,利 梯度函数获取图像灰度信息,以此来评判图像清晰度。在离散信号中梯度表现为差分形式。常 的梯度函数有 :能量梯度函
数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),.j pg]); %连续读取图⽚
I=double(I);
[M N]=size(I);
FI=0;
for x= 1:M- 1
for y= 1:N- 1
% x⽅向和y⽅向的相邻像素灰度值只差的的平⽅和作为清晰度值
F
原创力文档


文档评论(0)