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

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

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

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

现在看一阶微分锐化

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

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

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

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

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

相关文章

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十 简单视频浮雕画效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十 简单视频浮雕画效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十 简单视频浮雕画效果 一、简单介绍 二、简单视频浮雕画效果实现原理 三、简单视频浮雕画效果…

ELK 企业级日志分析 ELFK

一 ELK 简介 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源 工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 1 ElasticSearch: 是基于Lucene(一个全文检索引擎的…

Ubuntu使用SSH的X11Forwarding

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、X11Forwarding是什么?二、使用步骤1.打开SSH配置2.MobaXterm 三、测试总结 前言 有没有那么一种需求,就是有时候你需要将远端的画面…

最优算法100例之41-用两个栈实现队列

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 用两个栈实现队列 题解报告 stack<int> stack1; stack<int> stack2; void push(int node) {stack1.push(node);…

Go语言mac环境搭建详解

Go语言mac环境搭建详解见视频&#xff0c;视频下方也有讲解具体的操作步骤。 Golang Mac电脑环境搭建、开发工具Vscode配置 Go语言mac环境搭建步骤如下&#xff1a; 1、下载安装Golang Go官网下载地址&#xff1a;https://golang.org/dl/ Go官方镜像站&#xff08;推荐&…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之九 简单视频卡通画效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之九 简单视频卡通画效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之九 简单视频卡通画效果 一、简单介绍 二、简单视频卡通画效果实现原理 三、简单视频卡通画效果…

【HDFS存储】Java语言实现

Hadoop生态系统中包含多种与其相关联的技术应用&#xff0c;主要包括但不限于HDFS HDFS&#xff08;Hadoop Distributed File System&#xff09;&#xff1a;作为一个高度可靠、高吞吐量的分布式文件系统&#xff0c;它是Hadoop核心技术之一&#xff0c;用于存储海量数据。 J…

求两个二次曲线交点的理论依据和编程实践

简介 最近遇到求两个椭圆交点的的问题&#xff0c;一番搜索发现利用线性代数的二次型&#xff08;Quadratic form&#xff09;相关知识可解决&#xff0c;于是决定编程实践。 圆锥曲线的齐次式与二次型 椭圆是圆锥曲线&#xff08;conic section&#xff09;的一种&#xff0c…

【C++】1.从C语言转向C++

目录 一.对C的认识 二.C的关键字 三.命名空间 3.1命名空间的定义 3.2命名空间的使用 四.C的输入与输出 五.缺省参数 5.1全缺省参数 5.2半缺省参数 六.函数重载 七.引用 7.1引用的特性 7.2引用和指针的区别 八.内联函数 九.auto关键字&#xff08;C1…

Redis中的集群(七)

集群 ASK错误 ASKING命令 ASKING命令唯一要做的就是打开发送该命令的客户端的REDIS_ASKING标识&#xff0c;以下是该命令的伪代码实现: def ASKING(): # 打开标识 client.flags | REDIS_ASKING# 向客户端返回OK回复 reply("OK")在一般情况下&#xff0c;如果客户…

Matlab 实时读取串口并绘图

Matlab 实时读取串口并绘图 Vofa Vofa 是一个很好的跨平台上位机软件&#xff0c;但是它无法保存数据&#xff0c;而且作者也并没有要继续更新的意思&#xff0c;保存数据功能应该是遥遥无期了。因此本文使用 Matlab 实时读取串口数据&#xff0c;并使用 plot 函数绘制。 vo…

airtest-ios真机搭建实践

首先阅读4 ios connection - Airtest Project Docs 在Windows环境下搭建Airtest对iOS真机进行自动化测试的过程相对复杂&#xff0c;因为iOS的自动化测试通常需要依赖Mac OS系统&#xff0c;但理论上借助一些工具和服务&#xff0c;Windows用户也可以间接完成部分工作。下面是…