当前位置: 首页 > news >正文

质量图导向法解包裹之---计算边缘可靠性

在这之前需要我们知道像素点的可靠性

% 这反映了相位变化的平滑程度。以下是一个可能的实现,它使用了二阶差分来计算可靠性:
function rel = calculateReliability(wrappedPhase)% 应用高斯滤波减少噪声filteredImg = imgaussfilt(wrappedPhase, 2); % '2' 是高斯核的标准差rel = zeros(size(filteredImg));% 获取移动后的图像 (N-2, N-2)img_im1_jm1 = filteredImg(1:end-2, 1:end-2);img_i_jm1   = filteredImg(2:end-1, 1:end-2);img_ip1_jm1 = filteredImg(3:end  , 1:end-2);img_im1_j   = filteredImg(1:end-2, 2:end-1);img_i_j     = filteredImg(2:end-1, 2:end-1);img_ip1_j   = filteredImg(3:end  , 2:end-1);img_im1_jp1 = filteredImg(1:end-2, 3:end  );img_i_jp1   = filteredImg(2:end-1, 3:end  );img_ip1_jp1 = filteredImg(3:end  , 3:end  );% 计算差分gamma = @(x) sign(x) .* mod(abs(x), pi); % 一次差分算法H  = gamma(img_im1_j   - img_i_j) - gamma(img_i_j - img_ip1_j  );V  = gamma(img_i_jm1   - img_i_j) - gamma(img_i_j - img_i_jp1  );D1 = gamma(img_im1_jm1 - img_i_j) - gamma(img_i_j - img_ip1_jp1);D2 = gamma(img_im1_jp1 - img_i_j) - gamma(img_i_j - img_ip1_jm1);% 计算二次差分的和D = sqrt(H.*H + V.*V + D1.*D1 + D2.*D2);% 可信度定义为二次差分的倒数rel(2:end-1, 2:end-1) = 1./D;% 处理异常值,例如将非常高的可靠性值限制在一个阈值内maxReliability = 200; % 可以根据需要调整这个值rel(rel > maxReliability) = maxReliability;% 将所有空值和原图中的非空值赋值为0rel(isnan(rel) & ~isnan(filteredImg)) = 0;% 将原图中的空值在可信度中也赋值为空rel(isnan(filteredImg)) = nan;% 对可靠性结果进行平滑处理rel = imgaussfilt(rel, 1); % 使用高斯滤波平滑
end

要功能是计算包裹相位图像(wrappedPhase)的可靠性。这种可靠性计算对于相位图像处理是非常重要的,尤其是在如相位展开或高精度测量等应用中。以下是详细步骤分析:

  1. 高斯滤波降噪:

    • 使用高斯滤波器处理包裹相位图像,减少噪声对后续可靠性计算的影响。这一步是预处理,旨在改善数据的质量。
  2. 计算一阶差分:

    • 对滤波后的图像进行一阶差分计算。这包括沿不同方向(水平、垂直及对角线)的相邻像素间的差分。
    • 使用的 gamma 函数处理差分值,保证差分结果落在合适的范围内(例如,对于相位值,这通常是π)。
  3. 二阶差分的计算:

    • 通过结合不同方向的一阶差分计算二阶差分。二阶差分可以视为相邻像素差分的差分,提供了更细微的局部变化信息。
  4. 可靠性的定义:

    • 将二阶差分的平方和的平方根的倒数定义为可靠性。这种方式认为,当相邻像素间的差分较小(即图像在该区域较为平滑),可靠性较高。
  5. 处理异常值:

    • 对于非常高的可靠性值,将其限制在一个预设的阈值内,避免因极端值导致的可靠性评估失真。
  6. 空值处理:

    • 将原始图像中非空值对应的可靠性矩阵中的空值设为0,并保留原始图像中的空值。
  7. 结果平滑处理:

    • 使用高斯滤波平滑处理最终的可靠性结果,以提高结果的一致性。

总的来说,这段代码通过计算二阶差分来评估包裹相位图像的局部可靠性,这对于确保相位展开等后续处理的准确性至关重要。通过这种方法,可以识别出图像中可靠性较高的区域,这些区域通常在相位展开或分析中更为可信。

在图像处理中,边缘是像素值发生显著变化的地方,通常对应于图像特征如线条、边界等。这里的方法是通过计算相邻像素间的可靠性来估算这些边缘的显著性。 


function [h_edges, v_edges] = get_edges(rel)
[Ny, Nx] = size(rel);
h_edges = [rel(1:end, 2:end) + rel(1:end, 1:end-1), nan(Ny, 1)];%补一行空值
v_edges = [rel(2:end, 1:end) + rel(1:end-1, 1:end); nan(1, Nx)];%补一列空值
end
  1. 水平边缘可靠性(h_edges:

    • 对于每个像素,将其与其右侧相邻像素的可靠性值相加。
    • 这意味着 h_edges 中的每个元素代表了一对水平相邻像素的综合可靠性。
    • 在最后,由于图像的最右侧像素没有右侧邻居,因此在 h_edges 的最右侧列上补充 NaN
  2. 垂直边缘可靠性(v_edges:

    • 类似地,对于每个像素,将其与其下方相邻像素的可靠性值相加。
    • v_edges 中的每个元素表示一对垂直相邻像素的综合可靠性。
    • 在最后,由于图像的最底部像素没有下方邻居,因此在 v_edges 的最底部行上补充 NaN

原理解释:

  • 这种计算方法基于这样一个假设:边缘的可靠性可以通过相邻像素的可靠性之和来估计。如果两个相邻像素都具有高可靠性,那么它们之间的边缘也被认为是可靠的。
  • 通过这种方法,可以在图像处理任务中,如边缘检测或特征提取,快速地识别出哪些边缘是可靠的。

相关文章:

质量图导向法解包裹之---计算边缘可靠性

在这之前需要我们知道像素点的可靠性 % 这反映了相位变化的平滑程度。以下是一个可能的实现,它使用了二阶差分来计算可靠性: function rel calculateReliability(wrappedPhase)% 应用高斯滤波减少噪声filteredImg imgaussfilt(wrappedPhase, 2); % 2 …...

C# WPF上位机开发(进度条操作)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 软件上面如果一个操作比较缓慢,或者说需要很长的时间,那么这个时候最好添加一个进度条,提示一下当前任务的进展…...

vulnhub-Tre(cms渗透)

靶机和kali都使用net网络,方便探测主机获取ip1.靶机探测 使用fping扫描net网段 靶机ip:192.168.66.130 2.端口扫描 扫描发现该靶机三个端口,ssh,还有两个web,使用的中间件也是不一样的,一个是apache&…...

Re解析(正则表达式解析)

正则表达式基础 元字符 B站教学视频: 正则表达式元字符基本使用 量词 贪婪匹配和惰性匹配 惰性匹配如下两张图,而 .* 就表示贪婪匹配,即尽可能多的匹配到符合的字符串,如果使用贪婪匹配,那么结果就是图中的情况三 p…...

HTML输出特殊字符详细方法

以下是部分特殊字符代码表,它们的完整应用代码格式为:&#;用下面的四位数字替换,将得到对应的符号。(注意:应用这些代码,编辑器应该切换到HTML模式) ☏260f ☎260e ☺263a ☻263b ☼263c ☽…...

《漫画算法》笔记——计算两个大数的和

例题: 输入:“123”,“234” 输出:“357” 思路: 使用数组,分别计算每一位上的加和,注意记录进位信息。 然后,将数组恢复成字符串,输出。 值得注意的是,加和…...

Python3.13版本改进规划

大家好,最近faster-cpython 项目的文档介绍了关于 Python 3.13 的规划,以及在 3.13 版本中将要实现的一些优化和改进。faster-python 是 Python 的创始人 Guido van Rossum 和他的团队提出的计划 ,目标是在四年内将 CPython 的性能提升五倍。…...

aws配置以及下载 spaceNet6 数据集

一:注册亚马逊账号 注册的时候,唯一需要注意的是信用卡绑定,这个可以去淘宝买,搜索aws匿名卡。 注册完记得点击登录,记录一下自己的账户ID哦! 二:登录自己的aws账号 2.1 首先创建一个用户 首…...

进阶之路:高级Spring整合技术解析

Spring整合 1.1 Spring整合Mybatis思路分析1.1.1 环境准备步骤1:准备数据库表步骤2:创建项目导入jar包步骤3:根据表创建模型类步骤4:创建Dao接口步骤5:创建Service接口和实现类步骤6:添加jdbc.properties文件步骤7:添加Mybatis核心配置文件步骤8:编写应用程序步骤9:运行程序 1.…...

【ArcGIS微课1000例】0081:ArcGIS指北针乱码解决方案

问题描述: ArcGIS软件在作图模式下插入指北针,出现指北针乱码,如下图所示: 问题解决 下载并安装字体(配套实验数据包0081.rar中获取)即可解决该问题。 正常的指北针选择器: 专栏介绍&#xff…...

uniapp运行到手机模拟器

第一步,下载MUMU模拟器 下载地址:MuMu模拟器官网_安卓12模拟器_网易手游模拟器 (163.com) 第二步,运行mumu模拟器 第三步,运行mumu多开器 第三步,查看abs 端口 第四步,打开HBuilder,如下图,将…...

基于PHP的蛋糕购物商城系统

有需要请加文章底部Q哦 可远程调试 基于PHP的蛋糕购物商城系统 一 介绍 此蛋糕购物商城基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈:phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销…...

嵌入式中的定时器概念

定时器概述 定时器是嵌入式系统中常用的一种外设,它可以产生一定的时间间隔、延时、定时等功能,广泛应用于定时、计数、脉冲宽度调制(PWM)等领域。 具体而言,定时器可以实现以下功能: 计时:定时器可以用来实现延时操作,例如等待外部设备的稳定、等待数据的接收等,也可以…...

鸿蒙ArkTS语言介绍与TS基础语法

1、ArkTS介绍 ArkTS是HarmonyOS主力应用开发语言,它在TS基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等响应的能力,让开发者以更简洁、更自然的方式开发跨端应用。 JS 是一种属于网络的高级脚本语言,已经被广泛用…...

08_CMDB系统开发二

CMDB系统开发二 一、用户组管理模块 1、展示用户组列表 Django自带了用户表,同时也带了用户组表。他们是多对多关系。用户组模型很简单,和User模型是多对多的关系。用户组顾名思义,就是对用户进行了分组。其作用在权限控制中就是可以批量的…...

JavaOOP篇----第九篇

系列文章目录 文章目录 系列文章目录前言一、java中是值传递引用传递?二、实例化数组后,能不能改变数组长度呢?三、假设数组内有5个元素,如果对数组进行反序,该如何做?四、形参与实参区别前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一…...

华为OD机试 - 区间交集 - 深度优先搜索dfs算法(滥用)(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述备注用例1、输入2、输出3、说明 四、解题思路1、核心思路:2、具体步骤 五、Java算法源码再重新读一遍题目,看看能否优化一下~解题步骤也简化了很多。 六、效果展示1、输入2、输出3、说明 华为OD机试 2…...

德人合科技 | 防止公司电脑文件数据资料外泄,自动智能透明加密保护系统

【透明加密软件】——防止公司电脑文件数据资料防止外泄,自动智能透明加密保护内部核心文件、文档、图纸、源代码、音视频等资料! PC端访问地址: www.drhchina.com 🌟 核心功能: 透明加密:采用高级加密算…...

常见加解密算法分析(含使用场景)

加密算法主要分为三类:对称加密算法、非对称加密算法和散列算法。下面将分别介绍这些类别中的常见算法及其特点和使用场景。 对称加密算法 1. AES (Advanced Encryption Standard) 简介: AES是一种广泛使用的对称加密标准,可以使用128、19…...

Oracle基本的SQL语句

1.最基本的增删改查 1.1.新增 insert 1.1.1.单表新增 INSERT INTO table_count_output (data_date,table_name,table_count ) VALUES (2023-03-15,FMCUSLVL,351 );COMMIT; 1.1.2.关联新增 INSERT INTO table_count_output (data_date,table_name,table_count )SELECTdata_…...

Windows风扇控制终极解决方案:FanControl深度配置指南

Windows风扇控制终极解决方案:FanControl深度配置指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…...

AI技能文件管理工具agent-skills-lint:多助手环境下的统一质检方案

1. 项目概述:为什么我们需要一个AI技能文件“质检员”如果你和我一样,同时在使用Claude Code、Cursor、Aider这些AI编程助手,那你一定遇到过这个烦人的问题:每个助手都有自己的“技能”(Skills)系统&#x…...

【LeetCode 手撕算法】(二分查找)搜索插入位置、搜索二维矩阵、查找数组相同的所有位置、搜索旋转排序数组、旋转升序数组的最小值

复杂度为O(log n)且有序用二分查找35-搜索插入位置思路&#xff1a;二分查找&#xff0c;左右指针 求中间值注意&#xff1a;while的查询条件是>class Solution {public int searchInsert(int[] nums, int target) {int left0;int rightnums.length-1;while(left<right){…...

从ADI收购LTC看电源管理趋势:软件定义电源与能量收集技术解析

1. 从一笔天价收购案&#xff0c;看电源管理技术的未来十年2016年&#xff0c;模拟芯片行业发生了一场地震级的并购&#xff1a;模拟巨头亚德诺半导体&#xff08;Analog Devices Inc., ADI&#xff09;以148亿美元的天价&#xff0c;收购了以高性能模拟芯片闻名的凌力尔特&…...

收藏!小白程序员快速入门大模型:多模态LLMs学习指南

多模态大模型&#xff08;MLLMs&#xff09;通过整合图像、文本、语音等&#xff0c;实现跨模态理解和生成。文章介绍了MLLMs的基本概念、架构&#xff0c;包括多模态编码器、连接器与LLM&#xff0c;并区分了双编码器架构和基于LLM的架构。同时&#xff0c;文章探讨了VLM前沿动…...

终极歌词获取方案:163MusicLyrics让你轻松获取网易云和QQ音乐LRC歌词

终极歌词获取方案&#xff1a;163MusicLyrics让你轻松获取网易云和QQ音乐LRC歌词 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为寻找准确歌词而烦恼吗&#xff1f…...

知网AI率30%50%80%哪个最难降?比话降AI知网专精方案!

知网AI率30%50%80%哪个最难降&#xff1f;比话降AI知网专精方案&#xff01; 很多硕博毕业生有个直觉&#xff1a;知网 AI 率 80% 比 30% 难降很多。这个直觉只对了一半。 真相是&#xff1a;难度不是看数字高低&#xff0c;是看「工具的技术路线对不对知网的算法」。一篇 80% …...

Docker Hub命令行工具hub-tool:镜像仓库自动化管理的终极利器

1. 项目概述&#xff1a;一个被低估的Docker Hub命令行利器 如果你日常工作中需要和Docker Hub打交道&#xff0c;无论是管理个人镜像、处理团队仓库&#xff0c;还是需要自动化镜像的推送、拉取和清理&#xff0c;那么你很可能已经受够了在浏览器和命令行之间反复横跳的繁琐。…...

Cadence AMS Designer 保姆级教程:手把手教你搞定数模混合仿真(含Verilog模块导入避坑指南)

Cadence AMS Designer 保姆级教程&#xff1a;手把手教你搞定数模混合仿真&#xff08;含Verilog模块导入避坑指南&#xff09; 数模混合仿真一直是芯片设计中的关键环节&#xff0c;尤其对于刚接触Cadence环境的新手工程师或在校学生来说&#xff0c;从零开始搭建混合仿真环境…...

Perplexity AI引用溯源功能上线72小时后,Nature/Science投稿拒稿率下降17.3%?,实证数据与3个必须启用的配置开关

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity AI引用透明度功能详解 Perplexity AI 的引用透明度&#xff08;Citation Transparency&#xff09;功能是其区别于传统大语言模型的核心设计之一&#xff0c;它通过实时标注、可追溯来源与结…...