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

news2025/1/31 8:05:22

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

一、概述

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

二、算法思想

由于边缘像素的灰度变化短促,可以采用一阶微分和二阶微分来反映这种局部变化,分数微分运算可以大幅提升图像边缘和纹理细节信息,同时非线性成分有所保留,且提取的边缘信息能避免产生较大的噪声目前的分数微分算子主要是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.coloradmin.cn/o/2284210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

scratch七彩六边形 2024年12月scratch三级真题 中国电子学会 图形化编程 scratch三级真题和答案解析

目录 scratch七彩六边形 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、…

Alfresco Content Services dockerCompose自动化部署详尽操作

Alfresco Content Services docker社区部署文档 Alfresco Content Services简介 Alfresco Content Services&#xff08;简称ACS&#xff09;是一款功能完备的企业内容管理&#xff08;ECM&#xff09;解决方案&#xff0c;主要面向那些对企业级内容管理有高要求的组织。具体…

电子应用设计方案105:智能家庭AI拖把系统设计

智能家庭 AI 拖把系统设计 一、引言 智能家庭 AI 拖把系统旨在为用户提供更高效、便捷和智能化的地面清洁解决方案&#xff0c;减轻家务劳动负担。 二、系统概述 1. 系统目标 - 自动清洁地面&#xff0c;包括吸尘、拖地和擦干功能。 - 智能识别地面材质和污渍程度&#xff0c…

Spring整合Mybatis、junit纯注解

如何创建一个Spring项目 错误问题 不知道什么原因&#xff0c;大概是依赖版本不兼容、java版本不对的问题&#xff0c;折磨了好久就是搞不成。 主要原因看pom.xml配置 pom.xml配置 java版本 由于是跟着22年黑马视频做的&#xff0c;java版本换成了jdk-11&#xff0c;用21以…

深入探讨数据库索引类型:B-tree、Hash、GIN与GiST的对比与应用

title: 深入探讨数据库索引类型:B-tree、Hash、GIN与GiST的对比与应用 date: 2025/1/26 updated: 2025/1/26 author: cmdragon excerpt: 在现代数据库管理系统中,索引技术是提高查询性能的重要手段。当数据量不断增长时,如何快速、有效地访问这些数据成为了数据库设计的核…

分布式系统学习:小结

关于分布式系统的学习就暂时告一段落了&#xff0c;下面整理了个思维导图&#xff0c;只涉及分布式的一些相关概念&#xff0c;需要的可自取。后面准备写下关于AI编程相关的技术文章&#xff0c;毕竟要紧跟时代的脚步嘛 思维导图xmind文件下载地址&#xff1a;https://download…

基于STM32的阿里云智能农业大棚

目录 前言&#xff1a; 项目效果演示&#xff1a; 一、简介 二、硬件需求准备 三、硬件框图 四、CubeMX配置 4.1、按键、蜂鸣器GPIO口配置 4.2、ADC输入配置 4.3、IIC——驱动OLED 4.4、DHT11温湿度读取 4.5、PWM配置——光照灯、水泵、风扇 4.6、串口——esp8266模…

WGCLOUD使用介绍 - 如何监控ActiveMQ和RabbitMQ

根据WGCLOUD官网的信息&#xff0c;目前没有针对ActiveMQ和RabbitMQ这两个组件专门做适配 不过可以使用WGCLOUD已经具备的通用监测模块&#xff1a;进程监测、端口监测或者日志监测、接口监测 来对这两个组件进行监控

Win11画图工具没了怎么重新安装

有些朋友想要简单地把图片另存为其他格式&#xff0c;或是进行一些编辑&#xff0c;但是发现自己的Win11系统里面没有画图工具&#xff0c;这可能是因为用户安装的是精简版的Win11系统&#xff0c;解决方法自然是重新安装一下画图工具&#xff0c;具体应该怎么做呢&#xff1f;…

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

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

Ubuntu 顶部状态栏 配置,gnu扩展程序

顶部状态栏 默认没有配置、隐藏的地方 安装使用Hide Top Bar 或Just Perfection等进行配置 1 安装 sudo apt install gnome-shell-extension-manager2 打开 安装的“扩展管理器” 3. 对顶部状态栏进行配置 使用Hide Top Bar 智能隐藏&#xff0c;或者使用Just Perfection 直…

FPGA 使用 CLOCK_LOW_FANOUT 约束

使用 CLOCK_LOW_FANOUT 约束 您可以使用 CLOCK_LOW_FANOUT 约束在单个时钟区域中包含时钟缓存负载。在由全局时钟缓存直接驱动的时钟网段 上对 CLOCK_LOW_FANOUT 进行设置&#xff0c;而且全局时钟缓存扇出必须低于 2000 个负载。 注释&#xff1a; 当与其他时钟约束配合…

RabbitMQ模块新增消息转换器

文章目录 1.目录结构2.代码1.pom.xml 排除logging2.RabbitMQConfig.java3.RabbitMQAutoConfiguration.java 1.目录结构 2.代码 1.pom.xml 排除logging <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/PO…

机器学习:支持向量机

支持向量机&#xff08;Support Vector Machine&#xff09;是一种二类分类模型&#xff0c;其基本模型定义为特征空间上的间隔最大的广义线性分类器&#xff0c;其学习策略便是间隔最大化&#xff0c;最终可转化为一个凸二次规划问题的求解。 假设两类数据可以被 H x : w T x…

Spring Boot(6)解决ruoyi框架连续快速发送post请求时,弹出“数据正在处理,请勿重复提交”提醒的问题

一、整个前言 在基于 Ruoyi 框架进行系统开发的过程中&#xff0c;我们常常会遇到各种有趣且具有挑战性的问题。今天&#xff0c;我们就来深入探讨一个在实际开发中较为常见的问题&#xff1a;当连续快速发送 Post 请求时&#xff0c;前端会弹出 “数据正在处理&#xff0c;请…

2023年版本IDEA复制项目并修改端口号和运行内存

2023年版本IDEA复制项目并修改端口号和运行内存 1 在idea中打开server面板&#xff0c;在server面板中选择需要复制的项目右键&#xff0c;点击弹出来的”复制配置…&#xff08;Edit Configuration…&#xff09;“。如果idea上没有server面板或者有server面板但没有springbo…

微信小程序怎么制作自己的小程序?手把手带你入门(适合新手小白观看)

对于初学者来说&#xff0c;制作一款微信小程序总感觉高大上&#xff0c;又害怕学不会。不过&#xff0c;今天我就用最简单、最有耐心的方式&#xff0c;一步一步给大家讲清楚!让你知道微信小程序的制作&#xff0c;居然可以这么轻松(希望你别吓跑啊!)。文中还加了实战经验&…

EventBus事件总线的使用以及优缺点

EventBus EventBus &#xff08;事件总线&#xff09;是一种组件通信方法&#xff0c;基于发布/订阅模式&#xff0c;能够实现业务代码解耦&#xff0c;提高开发效率 发布/订阅模式 发布/订阅模式是一种设计模式&#xff0c;当一个对象的状态发生变化时&#xff0c;所有依赖…

vim如何设置自动缩进

:set autoindent 设置自动缩进 :set noautoindent 取消自动缩进 &#xff08;vim如何使设置自动缩进永久生效&#xff1a;vim如何使相关设置永久生效-CSDN博客&#xff09;

LongLoRA:高效扩展大语言模型上下文长度的微调方法

论文地址&#xff1a;https://arxiv.org/abs/2309.12307 github地址&#xff1a;https://github.com/dvlab-research/LongLoRA 1. 背景与挑战 大语言模型&#xff08;LLMs&#xff09;通常在预定义的上下文长度下进行训练&#xff0c;例如 LLaMA 的 2048 个 token 和 Llama2 的…