【阅读笔记】基于整数+分数微分的清晰度评价算子

本文介绍的是一种新的清晰度评价算子,整数微分算子+分数微分算子

一、概述

目前在数字图像清晰度评价函数中常用的评价函数包括三类:灰度梯度评价函数、频域函数和统计学函数,其中灰度梯度评价函数具有计算简单,评价效果好等优点.经典清晰度评价函数和大多数改进的图像清晰度评价函数在评价过程中较少考虑噪音影响,从而使图像清晰度评价函数出现评价不准,甚至出现多峰等现象,影响自动聚焦效果。

二、算法思想

由于边缘像素的灰度变化短促,可以采用一阶微分和二阶微分来反映这种局部变化,分数微分运算可以大幅提升图像边缘和纹理细节信息,同时非线性成分有所保留,且提取的边缘信息能避免产生较大的噪声目前的分数微分算子主要是0阶~1阶和1阶~2阶,其中0阶~1阶的分数微分算子模板为5×5甚至更大,参与计算的像素过多,计算量太大;而根据1阶~2阶微分的定义容易构造3×3模板的梯度算子且同样具有检测纹理信息的优点。

将1阶~2阶分数微分与整数微分相结合,构造出一种新的聚焦评价函数。

三、清晰度评价

3.1 EOG函数平方梯度

F E O G = ∑ i , j ( ∣ f ( i , j ) − f ( i , j − 1 ) ∣ 2 + ∣ f ( i , j ) − f ( i − 1 , j ) ∣ 2 ) F_{EOG}=\sum_{i,j}(\lvert f(i,j)-f(i,j-1) \rvert ^2 +\lvert f(i,j)-f(i-1,j) \rvert ^2) FEOG=i,j(∣f(i,j)f(i,j1)2+f(i,j)f(i1,j)2)

3.2 Laplace算子梯度函数

Laplace算子函数

F L a p l a c e = ∑ i , j ∣ f ( i − 1 , j ) − f ( i + 1 , j ) + f ( i , j − 1 ) − f ( i , j + 1 ) − 4 f ( i , j ) ∣ 2 F_{Laplace}=\sum_{i,j}\lvert f(i-1,j)-f(i+1,j) + f(i,j-1)-f(i,j+1) - 4f(i,j) \rvert ^2 FLaplace=i,jf(i1,j)f(i+1,j)+f(i,j1)f(i,j+1)4f(i,j)2

3.3 整数+分数微分函数

分数微分卷积算子:

W x = ∣ 0 0 0 4 − 3 ∗ 2 2 − v + 3 2 − v − 2 ∗ ( 1 − 2 3 − v + 3 2 − v ) 3 − 2 2 − v 1 − 2 3 − v + 3 2 − v 4 − 3 ∗ 2 2 − v + 3 2 − v − 2 ∗ ( 1 − 2 3 − v + 3 2 − v ) 0 0 0 ∣ W_x=\begin{vmatrix} 0 & 0 & 0 \\\frac{4-3*2^{2-v}+3^{2-v}}{-2*(1-2^{3-v}+3^{2-v})} & \frac{3-2^{2-v}}{1-2^{3-v}+3^{2-v}} & \frac{4-3*2^{2-v}+3^{2-v}}{-2*(1-2^{3-v}+3^{2-v})} \\ 0 & 0 & 0 \end{vmatrix} Wx= 02(123v+32v)4322v+32v00123v+32v322v002(123v+32v)4322v+32v0

W y = ∣ 0 4 − 3 ∗ 2 2 − v + 3 2 − v − 2 ∗ ( 1 − 2 3 − v + 3 2 − v ) 0 0 3 − 2 2 − v 1 − 2 3 − v + 3 2 − v 0 0 4 − 3 ∗ 2 2 − v + 3 2 − v − 2 ∗ ( 1 − 2 3 − v + 3 2 − v ) 0 ∣ W_y= \begin{vmatrix} 0 & \frac{4-3*2^{2-v}+3^{2-v}}{-2*(1-2^{3-v}+3^{2-v})} & 0 \\0 & \frac{3-2^{2-v}}{1-2^{3-v}+3^{2-v}} & 0 \\ 0 & \frac{4-3*2^{2-v}+3^{2-v}}{-2*(1-2^{3-v}+3^{2-v})} & 0 \end{vmatrix} Wy= 0002(123v+32v)4322v+32v123v+32v322v2(123v+32v)4322v+32v000

利用整数微分求图像边缘部分的梯度值基础上,加上分数微分求取边缘及纹理细节部分的梯度值,清晰度评价函数为

F d i f f e r = ∑ i , j ∣ K 1 ∗ G 1 ( i , j ) ∣ + ∣ K 2 ∗ G 2 ( i , j ) ∣ F_{differ}=\sum_{i,j}|K_1*G_1(i,j)|+|K_2*G_2(i,j)| Fdiffer=i,jK1G1(i,j)+K2G2(i,j)

G 1 ( i , j ) = f ( x , y ) . ∗ T x + f ( x , y ) . ∗ T y G_1(i,j)=f(x,y).*T_x+f(x,y).*T_y \\ G1(i,j)=f(x,y).Tx+f(x,y).Ty

G 2 ( i , j ) = f ( x , y ) . ∗ W x + f ( x , y ) . ∗ W y G_2(i,j)=f(x,y).*W_x+f(x,y).*W_y G2(i,j)=f(x,y).Wx+f(x,y).Wy

整数微分算子如下:

T x = ∣ 0 0 0 1 − 2 1 0 0 0 ∣ T_x= \begin{vmatrix} 0 & 0 & 0 \\1 & -2 & 1 \\ 0 & 0 & 0 \end{vmatrix} Tx= 010020010

T y = ∣ 0 1 0 0 − 2 0 0 1 0 ∣ T_y= \begin{vmatrix} 0 & 1 & 0 \\0 & -2 & 0 \\ 0 & 1 & 0 \end{vmatrix} Ty= 000121000

K1 为0.618,K2为0.3382

v为分数微分阶数(1<v<2,本文v取1.7)

四、效果对比

通过一组清晰度渐进的数据对比清晰度评价效果,评价算子进行数值归一化,效果如下

噪声较大的情况下,Laplace效果不佳,微分算子勉强能用,EOG相对较好。

五 参考

《一种可用于纤维图像的聚焦评价函数》

觉得本文对您有一点帮助,欢迎讨论、点赞、收藏,您的支持激励我多多创作。

我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8000.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW 保存文件 生产者/消费者设计

LabVIEW 保存文件 生产者/消费者设计 简介生产消费模式设计结构 简介 主从模式的数据通信是利用全局变量、局域变量或共享变量实现的&#xff0c;由于这些变量的每次复制都是原始数据的一个副本&#xff0c;占据了大量的空间。实际上&#xff0c;只需要使用一部分缓冲区作为数…

网络安全 | F5-Attack Signatures-Set详解

关注&#xff1a;CodingTechWork 创建和分配攻击签名集 可以通过两种方式创建攻击签名集&#xff1a;使用过滤器或手动选择要包含的签名。  基于过滤器的签名集仅基于在签名过滤器中定义的标准。基于过滤器的签名集的优点在于&#xff0c;可以专注于定义用户感兴趣的攻击签名…

宏_wps_宏修改word中所有excel表格的格式_设置字体对齐格式_删除空行等

需求&#xff1a; 将word中所有excel表格的格式进行统一化&#xff0c;修改其中的数字类型为“宋体&#xff0c; 五号&#xff0c;右对齐&#xff0c; 不加粗&#xff0c;不倾斜”&#xff0c;其中的中文为“宋体&#xff0c; 五号&#xff0c; 不加粗&#xff0c;不倾斜” 数…

项目集成RabbitMQ

文章目录 1.common-rabbitmq-starter1.创建common-rabbitmq-starter2.pom.xml3.自动配置1.RabbitMQAutoConfiguration.java2.spring.factories 2.测试使用1.创建common-rabbitmq-starter-demo2.目录结构3.pom.xml4.application.yml5.TestConfig.java 配置交换机和队列6.TestCon…

Shotcut新版来袭,新增HSL滤镜、硬件编码,剪辑更流畅

Shotcut 是一款功能强大、完全免费且开源的多平台视频编辑工具&#xff0c;适用于 Windows、macOS 和 Linux 系统。作为一款专业的视频编辑软件&#xff0c;它不仅支持数百种音频和视频格式的直接编辑&#xff0c;还提供了无需导入即可进行原生编辑的便捷功能。Shotcut 的核心优…

K8s运维管理平台 - xkube体验:功能较多

目录 简介Lic安装1、需要手动安装MySQL&#xff0c;**建库**2、启动命令3、[ERROR] GetNodeMetric Fail:the server is currently unable to handle the request (get nodes.metrics.k8s.io qfusion-1) 使用总结优点优化 补充1&#xff1a;layui、layuimini和beego的详细介绍1.…

BAHD酰基转移酶对紫草素的手性催化-文献精读105

Two BAHD Acyltransferases Catalyze the Last Step in the Shikonin/Alkannin Biosynthetic Pathway 两个BAHD酰基转移酶催化了紫草素/左旋紫草素生物合成途径中的最后一步 一个BAHD酰基转移酶专门催化紫草素的酰基化&#xff0c;而另一个BAHD酰基转移酶则仅催化紫草素的对映…

STM32完全学习——RT-thread在STM32F407上移植

一、写在前面 关于源码的下载&#xff0c;以及在KEIL工程里面添加操作系统的源代码&#xff0c;这里就不再赘述了。需要注意的是RT-thread默认里面是会使用串口的&#xff0c;因此需要额外的进行串口的初始化&#xff0c;有些人可能会问&#xff0c;为什么不直接使用CubMAX直接…

单片机内存管理剖析

一、概述 在单片机系统中&#xff0c;内存资源通常是有限的&#xff0c;因此高效的内存管理至关重要。合理地分配和使用内存可以提高系统的性能和稳定性&#xff0c;避免内存泄漏和碎片化问题。单片机的内存主要包括程序存储器&#xff08;如 Flash&#xff09;和数据存储器&a…

“AI质量评估系统:智能守护,让品质无忧

嘿&#xff0c;各位小伙伴们&#xff01;今天咱们来聊聊一个在现代社会中越来越重要的角色——AI质量评估系统。你知道吗&#xff1f;在这个快速发展的时代&#xff0c;产品质量已经成为企业生存和发展的关键。而AI质量评估系统&#xff0c;就像是我们的智能守护神&#xff0c;…

人工智能:从基础到前沿

目录 目录 1. 引言 2. 人工智能基础 2.1 什么是人工智能&#xff1f; 2.2 人工智能的历史 2.3 人工智能的分类 3. 机器学习 3.1 机器学习概述 3.2 监督学习 3.3 无监督学习 3.4 强化学习 4. 深度学习 4.1 深度学习概述 4.2 神经网络基础 4.3 卷积神经网络&#…

Centos7系统php8编译安装ImageMagick/Imagick扩展教程整理

Centos7系统php8编译安装ImageMagick/Imagick扩展教程整理 安装php8安装ImageMagick1、下载ImageMagick2、解压并安装3、查看是否安装成功 安装imagick扩展包 安装php8 点我安装php8 安装ImageMagick 1、下载ImageMagick wget https://www.imagemagick.org/download/ImageMa…

基于微信阅读网站小程序的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

51单片机入门_02_C语言基础0102

C语言基础部分可以参考我之前写的专栏C语言基础入门48篇 以及《从入门到就业C全栈班》中的C语言部分&#xff0c;本篇将会结合51单片机讲差异部分。 课程主要按照以下目录进行介绍。 文章目录 1. 进制转换2. C语言简介3. C语言中基本数据类型4. 标识符与关键字5. 变量与常量6.…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.2 ndarray解剖课:多维数组的底层实现

1.2 《ndarray解剖课&#xff1a;多维数组的底层实现》 内容介绍 NumPy 的 ndarray 是其核心数据结构&#xff0c;用于高效处理多维数组。在这篇文章中&#xff0c;我们将深入解析 ndarray 的底层实现&#xff0c;探讨其内存结构、维度、数据类型、步长等关键概念&#xff0c…

C++——list的了解和使用

目录 引言 forward_list与list 标准库中的list 一、list的常用接口 1.list的迭代器 2.list的初始化 3.list的容量操作 4.list的访问操作 5.list的修改操作 6.list的其他操作 二、list与vector的对比 结束语 引言 本篇博客要介绍的是STL中的list。 求点赞收藏评论…

mysql 学习6 DQL语句,对数据库中的表进行 查询 操作

前期准备数据 重新create 一张表 create table emp(id int comment 编号,workno varchar(10) comment 工号,name varchar(10) comment 姓名,gender char comment 性别,ager tinyint unsigned comment 年龄,idcard char(18) comment 身份证号,workaddress varchar(10) c…

Arduino大师练成手册 -- 控制 MH-SD 卡模块

要在 Arduino 上控制 MH-SD 卡模块&#xff0c;你可以按照以下步骤进行&#xff1a; 硬件连接 VCC&#xff1a;连接到 Arduino 的 3.3V 或 5V 引脚&#xff08;根据模块的要求&#xff09;。 GND&#xff1a;连接到 Arduino 的 GND 引脚。 CS&#xff1a;连接到 Arduino 的…

【记录】日常|从零散记录到博客之星Top300的成长之路

文章目录 shandianchengzi 2024 年度盘点概述写作风格简介2024年的创作内容总结 shandianchengzi 2024 年度盘点 概述 2024年及2025年至今我创作了786即84篇文章&#xff0c;加上这篇就是85篇。 很荣幸这次居然能够入选博客之星Top300&#xff0c;这个排名在我之前的所有年份…

Elastic Agent 对 Kafka 的新输出:数据收集和流式传输的无限可能性

作者&#xff1a;来 Elastic Valerio Arvizzigno, Geetha Anne 及 Jeremy Hogan 介绍 Elastic Agent 的新功能&#xff1a;原生输出到 Kafka。借助这一最新功能&#xff0c;Elastic 用户现在可以轻松地将数据路由到 Kafka 集群&#xff0c;从而实现数据流和处理中无与伦比的可扩…