0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图像清晰度的评价方法

3D视觉工坊 来源:天眼观视界 作者:天眼观视界 2022-10-11 10:48 次阅读

图像清晰度是衡量图像质量的一个重要指标,对于相机来说,其一般工作在无参考图像的模式下,所以在拍照时需要进行对焦的控制。对焦不准确,图像就会变得比较模糊不清晰。相机对焦时通过一些清晰度评判指标,控制镜头与CCD的距离,使图像成像清晰。一般对焦时有一个调整的过程,图像从模糊到清晰,再到模糊,确定清晰度峰值,再最终到达最清晰的位置。

常见的图像清晰度评价一般都是基于梯度的方法,本文将介绍五种简单的评价指标,分别是Brenner梯度法、Tenegrad梯度法、laplace梯度法、方差法、能量梯度法。

Brenner梯度法:

计算相差两个单元的两个像素点的灰度差:

FBrenner=∑M∑N(f(x+2,y)−f(x,y))2 式中(f(x+2,y)−f(x,y))2>Threshold算法准确性取决于阈值的选取。

Tenegrad梯度法:

采用sobel算子分别提取水平和竖直方向的梯度: FTenegrad=∑M∑N|G(x,y)| G(x,y)>Threshold

G(x,y)=Gx(x,y)2+Gy(x,y)2

sobel算子模板如下:

Gx=14⎡⎣⎢−1−2−1000121⎤⎦⎥∗I

Gy=14⎡⎣⎢−101−202−101⎤⎦⎥∗I

Laplace梯度法:

laplace梯度函数与Tenegrad基本一致,只需要用Laplace算子替代sobel算子即可:L=16⎡⎣⎢1414204141⎤⎦⎥∗I

方差法:

聚焦清晰的图像比模糊图像有更大的灰度差异,可用方差函数作为评价:Fvariance=∑M∑N(f(x,y)−E2)

式中E为整幅图像的平均灰度值,该函数对噪声敏感。

能量梯度法:

能量梯度函数适合实时评价图像清晰度:

FBrenner=∑M∑N((f(x+1,y)−f(x,y))2+(f(x,y+1)−f(x,y))2)

实例代码:

//方差法


region_to_mean(ImageReduced, Image, ImageMean)


convert_image_type(ImageMean, ImageMean, 'real')


convert_image_type(Image, Image, 'real')


sub_image(Image, ImageMean, ImageSub, 1, 0)


mult_image(ImageSub, ImageSub, ImageResult, 1, 0)


intensity(ImageResult, ImageResult, Value, Deviation)


//拉普拉斯梯度函数


laplace(Image, ImageLaplace4, 'signed', 3, 'n_4')


laplace(Image, ImageLaplace8, 'signed', 3, 'n_8')


add_image(ImageLaplace4, ImageLaplace4, ImageResult1, 1, 0)


add_image(ImageLaplace4, ImageResult1, ImageResult1, 1, 0)


add_image(ImageLaplace8, ImageResult1, ImageResult1, 1, 0)


mult_image(ImageResult1, ImageResult1, ImageResult, 1, 0)


intensity(ImageResult, ImageResult, Value, Deviation)


//能量梯度函数


crop_part(Image, ImagePart00, 0, 0, Width-1, Height-1)


crop_part(Image, ImagePart01, 0, 1, Width-1, Height-1)


crop_part(Image, ImagePart10, 1, 0, Width-1, Height-1)


convert_image_type(ImagePart00, ImagePart00, 'real')


convert_image_type(ImagePart10, ImagePart10, 'real')


convert_image_type(ImagePart01, ImagePart01, 'real')


sub_image(ImagePart10, ImagePart00, ImageSub1, 1, 0)


mult_image(ImageSub1, ImageSub1, ImageResult1, 1, 0)


sub_image(ImagePart01, ImagePart00, ImageSub2, 1, 0)


mult_image(ImageSub2, ImageSub2, ImageResult2, 1, 0)


add_image(ImageResult1, ImageResult2, ImageResult, 1, 0)


intensity(ImageResult, ImageResult, Value, Deviation)


//Brenner梯度法


crop_part(Image, ImagePart00, 0, 0, Width, Height-2)


convert_image_type(ImagePart00, ImagePart00, 'real')


crop_part(Image, ImagePart20, 2, 0, Width, Height-2)


convert_image_type(ImagePart20, ImagePart20, 'real')


sub_image(ImagePart20, ImagePart00, ImageSub, 1, 0)


mult_image(ImageSub, ImageSub, ImageResult, 1, 0)


intensity(ImageResult, ImageResult, Value, Deviation)


//Tenegrad梯度法


sobel_amp(Image, EdgeAmplitude, 'sum_sqrt', 3)


min_max_gray(EdgeAmplitude, EdgeAmplitude, 0, Min, Max, Range)


threshold(EdgeAmplitude, Region1, 20, 255)


region_to_bin(Region1, BinImage, 1, 0, Width, Height)


mult_image(EdgeAmplitude, BinImage, ImageResult4, 1, 0)


mult_image(ImageResult4, ImageResult4, ImageResult, 1, 0)


intensity(ImageResult, ImageResult, Value, Deviation)

结果分析:

处理图像为一组对焦从模糊到清晰再到模糊的标定板图像,如下为其中三幅图像:

2df51d4c-48f0-11ed-a3b6-dac502259ad0.jpg

中间为最清晰的图像。

采用五种评价函数,对一百多幅图像进行计算,并将结果进行归一化,得到如图所示结果:

2e0b6b74-48f0-11ed-a3b6-dac502259ad0.jpg

一个好的评价函数需要具有单峰性,无偏性,灵敏性,在本实例中,采用Laplace、能量梯度和Brenner梯度法较好,而方差法效果较差,Tenegrad梯度法反向了。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相机
    +关注

    关注

    4

    文章

    1343

    浏览量

    53492
  • 图像清晰度
    +关注

    关注

    0

    文章

    3

    浏览量

    5267

原文标题:图像清晰度评价与实现方法

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    labview图像清晰度评价怎么做?自动聚焦怎样实现?

    基于边缘检测清晰度评价函数和怎样实现自动聚焦功能?
    发表于 09-03 18:34

    8168 swms影响清晰度的问题

    使用swms对画面进行1:1或者其他比例的缩放 发现1:1的情况 跟没有swms bypass的情况相比 清晰度差很多  打开swms里面的scalar的bypas代码如下: 在
    发表于 06-23 03:15

    清晰度电视广播概述

    清晰度电视广播概述:高清晰度和标准清晰度电视的比较,高清晰度演播室信号标准,高清晰度电视数字视频信号接口高
    发表于 08-01 07:54 22次下载

    等离子数字电视动态图像清晰度测量方法 CVIA–PDP01-

    等离子数字电视动态图像清晰度测量方法 CVIA–PDP01-2008   2008-04-22发布2008-06-01实施 1 范围..................................
    发表于 05-24 17:28 1495次阅读

    OmniVision公司推出给手机带来高清晰度视频的图像传感

    OmniVision公司推出给手机带来高清晰度视频的图像传感器OV2710 OV2710 HD质量数字视频数码相机,满足迅速增长的需求,固有1080p高清晰度(HD) CMOS图像
    发表于 11-04 16:27 1448次阅读

    什么是液晶电视的动态清晰度/分辨率

    什么是液晶电视的动态清晰度/分辨率 动态清晰度     动态清晰度是指在播放动态图像时画
    发表于 03-27 14:31 2406次阅读

    基于小波频带划分及HVS特性的图像清晰度评价

    清晰度是视频图像质量评价的重要指标,是实现数字成像设备自动聚焦的关键,提出了一种基于小波频带划分及HVS特性的清晰度评价
    发表于 06-04 15:47 27次下载
    基于小波频带划分及HVS特性的<b class='flag-5'>图像</b><b class='flag-5'>清晰度</b><b class='flag-5'>评价</b>

    一种结合点锐和平方梯度的图像清晰度评价方法

    图像清晰度是衡量图像质量优劣的重要指标,准确、高效地进行图像清晰度评价对于
    发表于 11-01 17:44 4次下载
    一种结合点锐<b class='flag-5'>度</b>和平方梯度的<b class='flag-5'>图像</b><b class='flag-5'>清晰度</b><b class='flag-5'>评价</b><b class='flag-5'>方法</b>

    基于四元数小波变换QWT的图像清晰度评价方法

    针对当前各种图像清晰度评价方法清晰度判别过程中单调性和区分度不够以及适用范围较小的问题,提出了一种基于四元数小波变换(QWT)幅值与相位的
    发表于 12-15 16:17 1次下载

    OpenCV 图像清晰度评价(相机自动对焦)

    图像清晰度评价算法有很多种,在空域中,主要思路是考察图像的领域对比,即相邻像素间的灰度特征的梯度差;在频域中,主要思路是考察
    发表于 01-17 09:45 1.6w次阅读

    Zyla具有突破精度和清晰度的动态图像单元的sCMOS相机介绍

    本文的的主要内容详细介绍的是Zyla具有突破精度和清晰度的动态图像单元的sCMOS相机介绍。
    发表于 05-14 08:00 0次下载
    Zyla具有突破精度和<b class='flag-5'>清晰度</b>的动态<b class='flag-5'>图像</b>单元的sCMOS相机介绍

    常见的图像清晰度评价方法

    常见的图像清晰度评价一般都是基于梯度的方法,本文将介绍五种简单的评价指标,分别是Brenner梯度法、Tenegrad梯度法、laplace
    的头像 发表于 10-10 10:42 9476次阅读

    红外热成像的清晰度详解

    红外热像仪的探测器分辨率不仅是清晰度的核心指标,更是决定最终成像效果的关键因素。高分辨率能够带来前所未有的图像清晰度,让每一个细节都栩栩如生地展现在您眼前。选择高分辨率的红外热像仪,您将享受到卓越
    的头像 发表于 08-11 09:49 1587次阅读
    红外热成像的<b class='flag-5'>清晰度</b>详解

    影响LED透明屏清晰度的因素有哪些?怎样提高LED透明屏的清晰度

    关键的方法和技术可以使用。 首先,增加像素密度是提高LED透明屏清晰度的有效方法之一。像素密度是指每平方英寸中的像素数量,较高的像素密度可以提供更多的细节和更精确的图像。通过增加像素密
    的头像 发表于 12-11 14:25 814次阅读

    led屏幕清晰度级别

    LED 屏幕的清晰度确实可以分级别,‌ 这主要取决于其分辨率。‌ 分辨率是 LED 显示屏画质的关键因素之一,‌ 它直接影响到图像清晰度和细节表现能力,以下是一些常见的 LED 屏幕清晰度
    的头像 发表于 10-09 11:34 1067次阅读