图像融合self

news2024/11/15 15:44:10

缺陷检测处理流程

1、图像预处理阶段

图像去噪(像素级别的去噪,特征级别的去噪),图像增强,对比度受限自适应直方图均衡化。

图像形态学处理,二值化(阈值或者动态阈值二值化),腐蚀和膨胀,开闭。腐蚀是二值化图像中白色区域变小,黑色区域变大,膨胀是二值化图像中白色区域变大,黑色区域变小

开运算:去除图像中的小物体或者小噪声,先腐蚀后膨胀

闭运算:填报图像中的小空洞,增加联通区域,线膨胀后腐蚀。

梯度滤波器,Sobel、Scharr(前两个算子需要指定x向或者y向) 和 Laplacian(x,向,y向直线边缘检测垂直和水平)

霍夫变换理论上检测直线或者圆,但是通过严格的参数定义,可以检测设定的曲线或者椭圆(由于部分缺陷近似直线可以使用)

暗场照明(Darkfield Illumination)

  1. 定义:暗场照明通过特殊的照明技术,使得光线不直接通过物镜,而是通过标本的边缘或散射区域。高对比度:由于光线不直接通过物镜,只有被标本散射的光线才能进入物镜,因此背景是暗的,而标本则是亮的,产生高对比度。

2、缺陷检测(划痕检测,颗粒检测,模糊颗粒检测)

传统机器学习:霍夫概率变换,检测直线或者圆,边缘检测

深度学习:DSR方法,基于小样本的无监督缺陷检测,一个编码器以及两个解码器(通用对象外观解码器,对象特定外观解码器),异常检测模块,重建的正常图像和源图像进行逐像素对比,定位缺陷的位置和大小。

-----------------------------------------------------------------------------------------------------

噪声处理:高斯噪声,椒盐噪声。

中值滤波,均值滤波,非局部均值滤波,变换滤波(如小波变换阈值滤波),双边滤波。

其中变换滤波以及双边滤波可以更少的损坏图像细节。

特征检测与匹配:包括 SIFT、SURF、ORB 等特征点检测和描述符匹配。

1. 非局部均值去噪的基本原理

非局部均值(Non-Local Means, NLM)去噪算法中,寻找的是多个相似的邻域块,而不是仅仅寻找一个。这个正是非局部均值算法区别于传统局部滤波方法的关键所在。

原理

非局部均值去噪的核心思想是,图像中存在很多相似的结构或纹理,即使它们相隔很远。为了更好地去除噪声,同时保留图像细节,NLM 算法会在整个图像中搜索和某个像素邻域相似的多个邻域。

具体而言:

  1. 给定像素的邻域:对于某个像素,算法会取一个小的邻域块(通常是一个正方形窗口)作为参考。
  2. 搜索相似邻域:在整幅图像中搜索与参考邻域相似的其他邻域,而不仅仅局限于参考像素附近的局部区域。
  3. 加权平均:找到多个相似的邻域后,根据它们的相似度计算权重,并对这些邻域的像素值进行加权平均。最终,参考像素的值将被多个相似邻域的加权平均值替代,从而达到去噪效果。

关键点:

  • 相似性度量:算法通过计算参考邻域和其他邻域之间的相似度(通常使用加权欧式距离或其他相似性度量)来判断邻域的相似性。
  • 多个相似邻域的加权平均:NLM 不是简单地选择一个最相似的邻域,而是会结合多个相似的邻域块,通过加权平均方式来决定该像素最终的去噪结果。每个相似邻域对结果的贡献取决于它与参考邻域的相似性。
  • 全局搜索:与局部均值滤波不同,NLM 算法可以在整个图像中寻找相似块,而不局限于某个小的局部区域。正是这种非局部特性,使得 NLM 在保持图像细节(如纹理和边缘)方面具有显著优势。

算法的几个重要参数:

  • patch size(邻域大小):用于比较的邻域块的大小,一般是 7×77 \times 77×7 或 5×55 \times 55×5。
  • search window size(搜索窗口大小):搜索相似邻域的范围,通常是 21×2121 \times 2121×21 或 31×3131 \times 3131×31,这决定了在多大范围内查找相似的邻域块。
  • 滤波参数 hhh:用于控制相似度的衰减,如果两个邻域的相似性较低,那么它们对去噪结果的贡献也会被减少。

2. 多图像的非局部均值去噪

在多图像去噪的场景下,NLM 也可以扩展到多个输入图像的情况。这对于像 CT 扫描、MRI 图像或多次曝光的照片非常有用,通常多幅图像存在一定的冗余信息,通过使用非局部均值算法,可以利用不同图像的相似性来增强去噪效果。

对于多图像去噪,非局部均值的原理与单图像去噪类似,但在搜索相似邻域时,可以在所有图像中查找,而不仅限于单幅图像。

多图像去噪的步骤:
  1. 输入多幅图像:将所有图像看作相似场景的不同观测,每幅图像中包含噪声。
  2. 寻找相似块:在多幅图像的联合域中,寻找某个像素的相似邻域块。这意味着不仅在当前图像中查找相似邻域,还可以在其他图像中查找。
  3. 加权平均:计算这些相似邻域的加权平均值,得到去噪后的像素值。

skimage库,opencv库都支持

多图像融合去噪
金字塔模型进行多层噪声去除,和图像滤波。因为噪声主要隐藏在高频区域,不进行降噪直接融合会放大噪声。或者先进行多层去噪后融合的图像,进行多帧图像的在融合,每一帧图像均去噪后,避免使用其它多尺度变换的方式融合的图像,将高频噪声放大

图像融合介绍

基于多尺度分解的多源图像融合的质量和效果主要取决于分解解和重构的工具和融合规则的设定

图像融合的三个层次:像素级融合,特征级融合,决策级融合

1、像素级融合是对多源图像机型像素级别的预处理(配准,去噪和增强等),像素级融合可以更充分利用和探索图像中的有效特征和信息
2、特征级融合是利用算法将图像中的某些特征提取之后在融合(特征通常指图像轮廓,边缘,亮3、度等)
决策级融合依赖于成熟的数学理论或者模型,例如主观贝叶斯方法。4、多焦点图像融合,多曝光图像融合,多模态医学图像融合,遥感图像融合,红外可见光图像融合

图像分解

拉普拉斯金字塔,梯度金字塔用于图像分解融合,小波分解图像融合算法

整个融合过程主要包括以下四个步骤,即
1 )对两幅不同聚焦目标的多聚焦图像进行预处理,包括配准,去噪等;
2 )对经严格配准的两幅多聚焦图像进行多尺度 Curvelet 变换;
(3)将原始图像分解得到的不同尺度层系数进行融合处理;
4 )用融合得到的系数重构得到融合后的图像。

多尺度几何变换用于图像融合(使小波分解变换对方向更敏感):曲线波,轮廓波,非下采样轮廓波,剪切波等。
非下采样轮廓滤波:由非下采样金字塔和拉普拉斯金字塔的设计类似,不同在于使用了不同的滤波单元,非下采样反向滤波单元可以捕捉不同方向的图像细节和边缘特征,确保了图像的平移不变性。

融合规则

1、空间域融合方法:线性加权,假彩色融合,统计模型方法(建立在图像或成像传感器统计模型的基础上,确定出融合优化函数进行参数估计,由源图像建立一个鲜艳模型,找到先验概率最大的融合图像,转变为优化问题),神经网络融合

2、变换域融合方法:基于金字塔的变换融合方法,基于小波变换的融合方法,基于其它多尺度分解的融合

3、变换域融合方法的融合规则:基于像素选取的融合规则,基于邻域窗口的融合规则和基于区域特征的融合规则。

融合性能的评价指标

基于单幅图像的统计特性的评价指标

均值、信息熵、标准差、平均梯度、空间频率等
1、均值:所有像素灰度算术平均值(一般图像的标准在128附近,视觉良好,特殊图像另外处理)
 2、信息熵:空间频率越大,表明图像的空间与的总体活跃程度高,图像效果好。
 3、平均梯度:反应了图像中微笑细节反差表达能力和纹理变化特征,也反应图像的清晰程度。x向y向梯度综合考虑,平均梯度越大,表明图像越清晰。
 4、空间频率:空间频率越大,表明图像的空间域的总体活跃程度越高,图像效果越好。


基于源图像的评价指标

交叉伤、互信息量、相关系数、偏差指数、扭曲程度

1、交叉熵:求融合图像与多幅原始图像的均方根交叉熵,交叉熵反映了融合图像与多个源图像之间的对应像素之间的差异,交叉熵越小,差异则越小,融合方法从原始图像提取的信息量则越多。
2、互信息量:互信息量评估两个或多个变量之间的相关性,融合图像与两个或多个源图像的互信息值越大,表明融合图像从源图像中获取的信息越多,融合效果越好
3、相关系数:相关系数越大,融合效果越好
4、偏差指数:偏差指数DI指融合图像F各个像素灰度值与源图像A相应像素灰度值差的绝对值,与同源图像A相应像素回复纸币的平均值。偏差指数的大小表示融合图像与源图像平均灰度值的相对差异,反应融合图像在光谱信息上的匹配程度和将源高分辨率图像的细节传递给融合图像的能力,理想情况下DI=0.
5、扭曲程度:反应融合图像的失真程度,DD值越小,融合图像对源图像的失真程度越小


基于参考图像的评价指标(融合图像与标准参考图像之间的差异程度)

1、均方根误差
2、峰值信噪比

数据集

1、模拟数据集:把高清的自然图像进行高斯滤波,进而获得由清晰图像和模糊图像构成的图像对。清晰图像代表聚焦区域,模糊图像代表散焦区域。

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

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

相关文章

MySQL(5)【数据类型 —— 字符串类型】

阅读导航 引言一、char🎯基本语法🎯使用示例 二、varchar🎯基本语法🎯使用示例 三、char 和 varchar 比较四、日期和时间类型1. 基本概念2. 使用示例 五、enum 和 set🎯基本语法 引言 之前我们聊过MySQL中的数值类型&…

湾区聚力 开源启智 | 2024 CCF中国开源大会暨第五届OpenI/O启智开发者大会闪耀深圳

当下,全球数字化浪潮席卷而来,开源技术已成为科技创新和产业升级的关键驱动力。11月9-10日,以“湾区聚力 开源启智”为主题的2024 CCF中国开源大会在深圳隆重举行。本届大会由中国计算机学会主办,CCF开源发展委员会、鹏城实验室、…

Linux基本指令(中)(2)

文章目录 前言一、echo二、cat三、more四、less五、head六、tail七、date八、cal九、find十、whoami十一、clear总结 前言 承上启下,我们再来看看另外一些常用的基础指令吧! 一、echo 语法:echo [选项] [字符串] 功能:在终端设备上…

MYSQL中JDBC的使用

一、JDBC基础概念 JDBC 是Java 中的一组API,用于执行SQL 操作(例如CRUD 操作:增、删、改、关系),同时可以和各种类型的数据库类型进行连接(MySQL、Oracle、SQL Server 等)。 JDBC是Java标准库的…

UnixBench和Geekbench进行服务器跑分

1 概述 服务器的基准测试,常见的测试工具有UnixBench、Geekbench、sysbench等。本文主要介绍UnixBench和Geekbench。 1.1 UnixBench UnixBench是一款开源的测试UNIX系统基本性能的工具(https://github.com/kdlucas/byte-unixbench)&#x…

基于Java Springboot人力资源管理系统

一、作品包含 源码数据库设计文档万字全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA 数据库:MySQL8.0…

使用OpenCV(C++)通过鼠标点击操作获取图像的像素坐标和像素值

使用OpenCV(C)通过鼠标点击操作获取图像的像素坐标和像素值 在这篇博客中,我们将介绍如何使用OpenCV库在C中实现鼠标点击操作,以获取图像的像素坐标和像素值。代码分为两个部分:一个是鼠标事件处理的回调函数&#xff…

Windows VSCode .NET CORE WebAPI Debug配置

1.安装C#插件 全名C# for Visual Studio Code,选择微软的 2. 安装C# Dev Kit插件 全名C# Dev Kit for Visual Studio Code,同样是选择微软的 3.安装Debugger for Unity 4.配置launch.json 文件 {"version": "0.2.0","config…

AI斩获6枚金牌!华为Kaggle大师级智能体诞生,自主解决数据科学难题

继 OpenAI o1 成为首个达到 Kaggle 特级大师的人工智能(AI)模型后,另一个 Kaggle 大师级 AI 也诞生了。 根据 Kaggle 的晋级系统,由华为诺亚方舟实验室和伦敦大学学院团队联合推出的端到端自主数据科学智能体(agent&a…

[Mysql基础] 表的操作

一、创建表 1.1 语法 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 说明: field 表示列名 datatype 表示列的类型 character set 字符集,如果没有指定字符集…

04 简单神经网络推导及实现(C++/C)

简单神经网络推导及实现(C/C) 代码见A simple neural network - stock price prediction as an example(C/C) 1. 主要模块 Neuron.h:用于声明神经元类和构造函数。Layer.h:用于声明网络层类和构造函数。NNet.h:用于…

Mybatis配置文件的增删改查功能

Mybatis配置文件的增删改查功能 查询—条件查询 //resources里面的org.example.mapper中的BrandMapper.xml文件 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://…

【2024软考架构案例题】你知道什么是 RESTful 风格吗?

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

51单片机应用开发---LCD1602显示应用

实现目标 1、了解LCD1602液晶屏&#xff1b; 2、掌握驱动程序的编写&#xff1b; 3. 具体目标&#xff1a;在屏幕上显示字符。 一、LCD1206概述 1.1 定义 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置…

如何修改npm包

前言 开发中遇到一个问题&#xff0c;配置 Element Plus 自定义主题时&#xff0c;添加了 ElementPlusResolver({ importStyle: "sass" }) 后&#xff0c;控制台出现报错&#xff0c;这是因为 Dart Sass 2.0 不再支持使用 !global 来声明新变量&#xff0c;虽然当前…

【原创】java+ssm+mysql校园疫情防控管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Python模拟键盘输入,解放双手

文章目录 Python模拟键盘输入&#xff0c;解放双手一、引言二、pyautogui库的详细介绍1、安装与配置2、键盘输入函数3、特殊按键和组合键 三、实用示例1、自动填写表单2、自动发送邮件3、自动化数据录入 四、总结 Python模拟键盘输入&#xff0c;解放双手 一、引言 在自动化办…

人工智能时代下对人的价值反思?

一、员工价值物化 在现代企业的运作中&#xff0c;资本管理层之间的权力博弈与资源争夺有时呈现出了激烈的内斗态势。这种冲突不仅仅局限于单一部门内部&#xff0c;而是波及到跨部门乃至不同业务小组间的战略部署与资源配置上。各部门经理们既要竭力确保自身团队的利益最大化…

【Qt实现虚拟键盘】

Qt实现虚拟键盘 &#x1f31f;项目分析&#x1f31f;实现方式&#x1f31f;开发流程 &#x1f31f;项目分析 需求&#xff1a;为Linux环境下提供可便捷使用的虚拟键盘OS环境&#xff1a;Windows 7/11、CentOS 7开发语言&#xff1a;Qt/C IDE&#xff1a;QtCreator 、Qt5.14.2功…

APT 参与者将恶意软件嵌入 macOS Flutter 应用程序中

发现了一些恶意软件样本&#xff0c;这些样本据信与朝鲜民主主义人民共和国 (DPRK)&#xff08;又称北朝鲜&#xff09;有关&#xff0c;这些样本使用 Flutter 构建&#xff0c;Flutter 的设计可以对恶意代码进行混淆。JTL 深入研究了恶意代码的工作原理&#xff0c;以帮助保护…