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

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

一、概述

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

二、算法思想

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

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

相关文章

Windows 下本地 Docker RAGFlow 部署指南

Windows 下本地 Docker RAGFlow 部署指南 环境要求部署步骤1. 克隆代码仓库2. 配置 Docker 镜像加速(可选)3. 修改端口配置(可选)4. 启动服务5. 验证服务状态6. 访问服务7. 登录系统8. 配置模型8.1 使用 Ollama 本地模型8.2 使用在线 API 服务9. 开始使用10. 常见问题处理端…

【学习笔记】计算机网络(二)

第2章 物理层 文章目录 第2章 物理层2.1物理层的基本概念2.2 数据通信的基础知识2.2.1 数据通信系统的模型2.2.2 有关信道的几个基本概念2.2.3 信道的极限容量 2.3物理层下面的传输媒体2.3.1 导引型传输媒体2.3.2 非导引型传输媒体 2.4 信道复用技术2.4.1 频分复用、时分复用和…

linux设置mysql远程连接

首先保证服务器开放了mysql的端口 然后输入 mysql -u root -p 输入密码后即可进入mysql 然后再 use mysql; select user,host from user; update user set host"%" where user"root"; flush privileges; 再执行 select user,host from user; 即可看到变…

Midscene.js:重新定义UI自动化的新时代工具

前言 Midscene.js 是一个创新的、面向开发者的 UI 自动化解决方案&#xff0c;并通过人工智能技术简化自动化脚本的编写与维护。 它提供了三种核心方法——交互&#xff08;.ai, .aiAction&#xff09;、提取&#xff08;.aiQuery&#xff09;和断言&#xff08;.aiAssert&am…

AndroidStudio 下载链接

AndroidStudio 各个版本下载地址 AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 AndroidStudio 各个版本所支持的api 版本标识 Android Studio Ladybug 功能更新 |2024 年 2 月 2 日 | Android Developers

【开源免费】基于Vue和SpringBoot的社区智慧养老监护管理平台(附论文)

本文项目编号 T 163 &#xff0c;文末自助获取源码 \color{red}{T163&#xff0c;文末自助获取源码} T163&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

Oracle查看数据库表空间使用情况

Oracle RAC环境查看表空间使用情况 查询字段释义&#xff1a; NEED_ADDFILE,--是否需增加表空间文件 TABLESPACE_NAME,--表空间名称 TABLESPACE_FILE_COUNT, --表空间当前数据文件数量 NOW_FILEENABLE_BLOCKS,--表空间文件当前数据块数 NOW_FILEENABLE_BYTES_GB,--表空间文件当…

从0到1:C++ 开启游戏开发奇幻之旅(一)

目录 为什么选择 C 进行游戏开发 性能卓越 内存管理精细 跨平台兼容性强 搭建 C 游戏开发环境 集成开发环境&#xff08;IDE&#xff09; Visual Studio CLion 图形库 SDL&#xff08;Simple DirectMedia Layer&#xff09; SFML&#xff08;Simple and Fast Multim…

可以称之为“yyds”的物联网开源框架有哪几个?

有了物联网的发展&#xff0c;我们的生活似乎也变得更加“鲜活”、有趣、便捷&#xff0c;包具有科技感的。在物联网&#xff08;IoT&#xff09;领域中&#xff0c;也有许多优秀的开源框架支持设备连接、数据处理、云服务等&#xff0c;成为被用户们广泛认可的存在。以下给大家…

Shodan Dorks安装指南,通过Shodan搜索漏洞

Shodan Dorks是一种基于Shodan的工具&#xff0c;不知道Shodan是什么的不必阅读下面的内容。简单的说就是&#xff0c;利用预定义的查询&#xff08;dorks&#xff09;&#xff0c;通过Shodan轻松搜索漏洞和机密信息。 推荐渗透测试人员自行测试。 安装方法&#xff1a; 1.确…

Vue3 v-bind 和 v-model 对比

1. 基本概念 1.1 v-bind 单向数据绑定从父组件向子组件传递数据简写形式为 : 1.2 v-model 双向数据绑定父子组件数据同步本质是 v-bind 和 v-on 的语法糖 2. 基础用法对比 2.1 表单元素绑定 <!-- v-bind 示例 --> <template><input :value"text&quo…

Mybatis-plus 更新 Null 的策略踩坑记

一个bug 在一个管理页面&#xff0c;有一个非必填字段被设置成空了并提交更新&#xff0c;再次打开的时候&#xff0c;发现字段还在&#xff0c;并没有被更新成功。 使用的数据库映射框架是 Mybatis-plus &#xff0c;对于Mybatis 在更新字段的时候会对空进行校验&#xff0c;…

Linux第一讲--基本的命令操作

从今天开始&#xff0c;我将在csdn这个平台上和大家分享Linux的相关知识&#xff0c;欢迎大家一起讨论&#xff01; 零、基本操作 1.进入全屏&#xff1a; ALTENTER,退出也是这个 2.复制&#xff1a;ctrlinsert 3.粘贴&#xff1a;shiftinsert Linux中&#xff0c;cv是不好…

[CISCN2019 华东南赛区]Web41

进入题目页面如下 点击链接但发现 各种尝试无果 看了一个大佬的博客&#xff0c;链接如下 BUUCTF&#xff1a;[CISCN2019 华东南赛区]Web4-CSDN博客 给了很大的提示&#xff0c;大佬尝试了file:///etc/passwd无果&#xff0c;猜测Flask&#xff0c;尝试local_file:///读取文…

make controller vibrate and 判断是否grab

我自己的例子&#xff0c;新建cube上挂载oculus交互的代码&#xff0c;如下 然后加载自己写的代码到cube上就可以了 using Oculus.Interaction.HandGrab; using System.Collections; using System.Collections.Generic; using UnityEngine;public class Vibtation : MonoBehav…

渗透测试技法之口令安全

一、口令安全威胁 口令泄露途径 代码与文件存储不当&#xff1a;在软件开发和系统维护过程中&#xff0c;开发者可能会将口令以明文形式存储在代码文件、配置文件或注释中。例如&#xff0c;在开源代码托管平台 GitHub 上&#xff0c;一些开发者由于疏忽&#xff0c;将包含数据…

图像加解密

图像加解密是保护图像数据安全和隐私的重要技术手段,它通过特定的算法对图像进行加密处理,使其在传输或存储过程中难以被未授权方理解和获取信息,而合法用户则可以使用相应的解密算法还原图像内容。以下是图像加解密的一般流程和常见方法: 图像加密 选择加密算法 常见的图…

9.business english-agreement

reach agreement 达成协议&#xff0c;达成一致意见 After hours of negotiation, the two parties finally reached agreement. build consensus 达成共识&#xff0c;指通过沟通&#xff0c;协商等方式&#xff0c;最后达成共同看法和意见 We need to build consensus amo…

ubuntu调用图形化网络测试工具

在 Ubuntu 中&#xff0c;除了命令行工具外&#xff0c;还有一些图形化的网络测试工具可以帮助你更直观地测试和分析网络性能。以下是几款常用的图形化网络测试工具及其使用方法&#xff1a; 1. gnome-nettool gnome-nettool 是一个简单的图形化网络工具集&#xff0c;包含 pi…

Vue.js 高级组件开发

Vue.js 高级组件开发&#xff1a;构建一个智能动态表单生成器 ——从可复用架构到性能优化的全链路实践 引言&#xff1a;为什么需要高级组件&#xff1f; 在现代前端开发中&#xff0c;组件不仅是UI的封装&#xff0c;更是业务逻辑的载体。一个“高级”Vue组件应当具备&…