基于一阶微分的图像增强-梯度法(不丢弃任何像素变化--信息的提取作用)

首先我大致说一下前一小节的内容:反锐化掩模与高提升滤波处理

图像的锐化方法,其实有很多。锐化的定义提升突变像素的灰度级,减少变化缓慢像素的灰度级。

为什么可以利用模糊图像来进行锐化呢?因为模糊图像的模糊位置通常都是原图灰度级突变的位置,只要得到原图像减去模糊图像,就能得到一个模版,这个模版带有原图需要锐化位置的信息,再利用原图加上这个锐化信息乘以权重系数,就能对原图进行锐化,注意,因为这里只是在原图做加法操作,并没有丢失信息,所以能变清晰。(到目前为止图像变换中,只有空间滤波的平滑操作是真正无法避免会丢失信息的,丢失了信息意味着图像在怎么变换也不能可能提高清晰度了。)

现在看一阶微分锐化

这里有个问题,为什么|gx|+|gy|不是旋转之后值不变的?因为向量(gx,gy)在旋转之后,gx,gy在变化,所以确实不是固定不变的。(可能有一种理解,就是以为偏微分旋转是像图像点列一样,前后颠倒顺序,以为这里固定不变的,但是其实书上的意思是向量在向量空间中旋转。我其实并没有理解为什么需要旋转不变的滤波器,这个问题到了卷积的时候再处理)

书上这里有个问题,gx和gy的定义看起来是x是纵坐标,y是横坐标,我翻看了图像的表示f(x,y)的定义发现确实如此。

我看完了梯度处理的内容了,怎么说呢?如论一阶微分如何定义,始终有在像素区域中,灰度值的斜坡的一阶微分不为零。也就说是一阶微分得到梯度图像,只要不是灰度值恒定的区域,都大于零。这说明锐化的范围不只是突变,只要是有变化的位置,都会被提亮。这就是一阶微分和二阶微分的区别。二阶在提升对比度方面更好,适合视觉观察,但是一阶微分不丢失任何变化的细节,对于检测缺陷确实更合适,所以作者也没有把梯度图像加到原图像中提高对比度,而是直接使用梯度法提取原图像得到梯度图像进行缺陷检测了。

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

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

相关文章

《前端防坑》- JS基础 - 你觉得Boolean(‘false‘) === false吗?

问题 你觉得Boolean(false) false吗, Boolean([]) false吗? 答案 Boolean(false) true, Boolean([]) true 验证 原因 Boolean 对象表示两个值:"true" 或 "false" 但是能使Boolean为flase的只有6种情况&#xff…

嵌入式单片机入职第二天-EEPROM与IIC

上午: 1.安装Jlink驱动,死活没反应,因为昨天才装完系统,领导让我装电脑主板驱动 领导方法进惠普官网通过查询电脑型号,里面几十个驱动搞得我眼花,领导告诉我进官网就去开会了,可能因为是外网&…

idea如何debug看springsecurity的过滤器顺序

idea如何debug看springsecurity的过滤器顺序 先配置一个Spring启动对象,后续需要根据这个对象来获取SpringSecurity的过滤器链 设置一个输出信息,需要在输出信息这里打上断点,才方便查看过滤器链 public static void main(String[] args) {//此时不…

Qt | 信号与槽 原理、连接、断开(面试无忧)

1、信号和槽是用于对象之间的通信的,这是 Qt 的核心。为此 Qt 引入了一些关键字,他们是slots、signals、emit,这些都不是 C++关键字,是 Qt 特有的,这些关键字会被 Qt 的 moc转换为标准的 C++语句。 2、Qt 的部件类中有一些已经定义好了的信号和槽,通常的作法是子类化部件…

yolov5旋转目标检测遥感图像检测-无人机旋转目标检测(代码和原理)

YOLOv5(You Only Look Once version 5)是一个流行且高效的实时目标检测深度学习模型,最初设计用于处理图像中的水平矩形边界框目标。然而,对于旋转目标检测,通常需要对原始YOLOv5架构进行扩展或修改,以便能…

Imagination APXM-6200 CPU:性能卓越,安全可信

随着消费类和工业应用行业的不断发展,对创新性能和效率的需求永不停歇,我们自豪地推出旗下 Catapult CPU 系列的第二款产品:Imagination APXM-6200 CPU 。这款 64 位的高效 RISC-V 应用处理器具有强大的 AI 功能及性能密度,能够为…

阿里云服务器项目部署docker-compose+vue+redis+nginx+minio+springboot

1 阿里云服务器项目部署-单机部署 docker-compose 1.1 搭建背景 服务器 阿里云服务器 前端 vue 后端 springboot 服务 redis 、nginx、minio 都做单机模式部署,不做集群部署 博客内容参考了其他博文&#xff0c;会贴出来 1.2 <重要>端口开放前提说明 任何开放的端…

【迅为iTOP-4412-linux 系统制作(4)】ADB 或者 TF 卡烧写测试

准备工作 编译生成的内核镜像uImage 和设备树 dtb 文件“exynos4412-itop-elite.dtb”已经可以使用了。 把编译生成的uimage和dtb文件。拷贝fastboot工具。官方的u-boot-iTOP-4412.bin 也拷贝到 platform-tools 文件夹目录内。system.img 也拷贝到 platform-tools 文件夹目录…

11 nacos 的 配置获取 和 服务注册

前言 nacos 在微服务体系中有两大个功能, 作为配置中心 和 服务发现 最近碰到了一些 nacos 的相关问题, 整理了一下 这方面的东西 nacos client 的配置读取 这一系列主要是在 NacosManager 这个 bean 的相关业务流程的过程中处理的 NacosManager 初始化的时候, 会向 naco…

力扣HOT100 - 48. 旋转图像

解题思路&#xff1a; 要求原地旋转 可以先上下翻转&#xff0c;再沿主对角线反转&#xff08;左上到右下的对角线&#xff09; class Solution {public void rotate(int[][] matrix) {int n matrix.length;// 上下翻转for (int i 0; i < n / 2; i) {for (int j 0; j &…

vue简单使用三(class样式绑定)

目录 对象的形式绑定&#xff1a; 数组的形式绑定&#xff1a; 内联样式Style 对象的形式绑定&#xff1a; 可以看到class中有两个值 数组的形式绑定&#xff1a; 可以看到也有两个值 内联样式Style style样式设置成功 完整代码&#xff1a; <!DOCTYPE html> <html…

QT 信号与槽的简单使用

文章目录 1.通过Singloat and Slots Editor 添加信号与槽2. 通过拖动动态添加3.通过转到槽方式添加&#xff08;自动关联&#xff09;4. 自定义信号与槽&#xff08;connect)4.1 connect方式4.2 自定义信号 1.通过Singloat and Slots Editor 添加信号与槽 点添加&#xff0c;然…

nginx反向代理conf

打开nginx配置。 对登录功能测试完毕后&#xff0c;接下来&#xff0c;我们思考一个问题&#xff1a;前端发送的请求&#xff0c;是如何请求到后端服务的&#xff1f; 前端请求地址&#xff1a;http://localhost/api/employee/login 后端接口地址&#xff1a;http://localho…

学习Rust的第三天:猜谜游戏

Welcome to the third day of learning rust, I am referring to the book “The Rust Programming Language” by Steve Klabnik. Today we build a guessing game in rust. 欢迎来到学习Rust的第三天&#xff0c;基于Steve Klabnik的《The Rust Programming Language》一书。…

云架构(四)异步请求-应答模式

Asynchronous Request-Reply pattern - Azure Architecture Center | Microsoft Learn 把后台处理和前端解耦&#xff0c;后台处理需要异步处理&#xff0c;但是也需要给前端一个清晰的回应。 背景和问题 在现代应用开发中&#xff0c;代码通常在浏览器中运行&#xff0c;依…

【C#】 删除首/尾部字符

代码 static void Main(string[] args){string str "123abc";string strdelete "abc";string str1 str.Trim(1);string strc str1.Trim(c);string str11 str1.TrimStart(1);string strcc str1.TrimEnd(c);string strabc str.Trim(strdelete.ToCharA…

Sorting Algorithms in Python (排序算法)

本篇文章主要介绍几种经典排序算法&#xff1a;冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序、归并排序、桶排序和基数排序。并给出用python实现的算法代码。 目录 一、冒泡排序 二、快速排序 三、选择排序 四、堆排序 五、插入排序 六、希尔排序 七、归…

(非技术) 基因遗传相关知识学习笔记

目录 一、基因遗传名词解释 二、什么叫显性遗传和隐性遗传&#xff1f; 三、如何确定遗传性质呢&#xff1f;是显性还是隐性&#xff1f; 四、常规例子1&#xff1a; 五、常规例子2&#xff1a; 六、实际案例&#xff1a; 七、思考题&#xff1a; 八、参考&#xff1a; …

智慧InSAR专题———模拟数据实现现实场景异常形变点识别(项目讲解)

续上篇 文章目录 &#xff08;一项技术的复现&#xff0c;我们应该有打破砂锅问到底的态度&#xff0c;我找到了这篇文章的一些灵感来源&#xff0c;包括算法和编程以及专业知识等&#xff0c;对我而言也是受益匪浅&#xff09;1. 数据准备1.1 A deep learning approach to de…

MySQL选择普通索引还是唯一索引(2/16)

普通索引和唯一索引 基本概述 MySQL中可以创建普通索引与唯一索引&#xff0c;这两种索引的区别是&#xff1a; 普通索引&#xff08;Non-Unique Index&#xff09;&#xff0c;也称为非唯一索引&#xff0c;它允许索引中的条目具有重复的键值。普通索引的主要目的是加快查询…