【数字图像处理】数字图像空间域增强(3)

图像锐化

图像细节增强

图像轮廓:灰度值陡然变化的部分

        空间变化:计算灰度变化程度

图像微分法:微分计算灰度梯度突变的速率

        一阶微分:单向差值

        二阶微分:双向插值

一阶微分滤波

1:梯度法

梯度:

梯度向量的模:

图像f(x,y)的梯度图像:

右侧和下侧的梯度

2:罗伯茨Roberts梯度法

主对角线和次对角线的梯度

3:索博尔Sobel算法

常数 c = 2

4:蒲瑞维特Prewitt算法

常数 c = 1

else:

平方根运算 => 绝对差分算法

某像素上的梯度值是该像素与相邻像素的灰度差值的单调递增函数

【1】轮廓区域,梯度值大

【2】平缓区域,梯度值小

【3】等灰度区域,梯度值 = 0

二阶微分滤波

1:拉普拉斯算法(二阶差分)

拉普拉斯滤波器:

拉普拉斯的简化增强过程:利用原始图像减去拉普拉斯处理图像

简化滤波器:

2:LoG算法(拉普拉斯高斯)

原始图像经Gaussian平滑然后锐化,即等价于5×5 拉普拉斯高斯模板

锐化图像的表示

1:微分图像直接输出(梯度值)

2:背景保留,轮廓取梯度值

T:阈值(非负数)

3:背景保留,轮廓取单一灰度值

4:背景取单一灰度值、轮廓取梯度值

5:轮廓、背景分别取单一灰度值(二值化)

锐化与边缘特征

边缘:人眼可以重构物体的重要信息

图像边缘:识别物体存在并检测的重要依据

边缘特征:灰度或亮度突变

        理想边缘:具有方向性的阶跃函数

        真实边缘:缓慢变化的模糊的阶跃

在理想阶跃函数中:一阶微分的峰值位于边缘处,二阶微分的过零值位于边缘处

反锐化掩模法(USM)

参数解释:

        C为常数,C > 1

        :人为方法模糊的图像,可用均值滤波计算

        g(x,y):最终的掩模模板

案例:当C = 9时

图像锐化的总结

一阶微分法锐化:形成较细的边缘

二阶微分法锐化:对线条等细节有较强的响应

一阶微分锐化:对灰度梯度变化具有较强的相应

二阶微分锐化:对灰度级有二次响应

纯粹二阶的导数操作中,会出现对噪声的敏感现象

解决的方法:先对图像进行平滑滤波,消除部分噪声,再进行边缘检测

图像平滑

均值滤波器的缺点:会使图像变模糊

原因:在将噪声点分摊的同时,将景物的边界点也分摊

图像滤波器的组合应用

平滑滤波:使图像模糊,噪声或细节得到抑制

锐化滤波:使图像边缘细节增强,噪声放大

组合法图像增强的评价:

【1】响应灰度范围:对边缘灰度变化梯度、线条等细节有响应,但是对噪声点有抑制或者去除的作用

【2】响应位置:对边缘等能够尽可能的逼近,最好能形成只有一个像素的边缘线条

滤波器或者卷积模板尺寸,导致图像边界像素信息缺失

(1)忽略像素像

(2)填充图像

(3)复制边界像素

(4)图像截断

(5)允许图像环绕像素

(6)就近补位

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

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

相关文章

基于Linux的ffmpeg python的关键帧抽取

1.FFmpeg的环境配置 首先强调,ffmpeg-python包与ffmpeg包不一样。 1) 创建一个虚拟环境env conda create -n yourenv python3.x conda activate yourenv2) ffmpeg-python包的安装 pip install ffmpeg-python3) 安装系统级别的 FFmpeg 工具 虽然安装了 ffmpeg-p…

C#进阶学习(四)单向链表和双向链表,循环链表(上)单向链表

目录 前置知识: 一、链表中的结点类LinkedNode 1、申明字段节点类: 2、申明属性节点类: 二、两种方式实现单向链表 ①定框架: ②增加元素的方法:因为是单链表,所以增加元素一定是只能在末尾添加元素,…

RK3588 Buildroot 串口测试工具

RK3588 Buildroot串口测试工具(含代码) 一、引言 1.1 目的 本文档旨在指导开发人员能快速测试串口功能 1.2 适用范围 本文档适用于linux 系统串口测试。 二、开发环境准备 2.1 硬件环境 开发板:RK3588开发板,确保其串口硬件连接正常,具备电源供应、调试串口等基本硬…

HOJ PZ

https://docs.hdoi.cn/deploy 单体部署 请到~/hoj-deploy/standAlone的目录下,即是与docker-compose.yml的文件同个目录下,该目录下有个叫hoj的文件夹,里面的文件夹介绍如下: hoj ├── file # 存储了上传的图片、上传的临…

EtherCAT 的优点与缺点

EtherCAT(以太网控制自动化技术)是一种高性能的工业以太网协议,广泛应用于实时自动化控制。以下是其核心优缺点分析: ​一、EtherCAT 的核心优点​ 1. ​超低延迟 & 高实时性​ ​原理​:采用"​Processing…

高并发多级缓存架构实现思路

目录 1.整体架构 3.安装环境 1.1 使用docket安装redis 1.2 配置redis缓存链接: 1.3 使用redisTemplate实现 1.4 缓存注解优化 1.4.1 常用缓存注解简绍 1.4.2 EnableCaching注解的使用 1.4.3使用Cacheable 1.4.4CachePut注解的使用 1.4.5 优化 2.安装Ngin…

Qt QML实现Windows桌面颜色提取器

前言 实现一个简单的小工具,使用Qt QML实现Windows桌面颜色提取器,实时显示鼠标移动位置的颜色值,包括十六进制值和RGB值。该功能在实际应用中比较常见,比如截图的时候,鼠标移动就会在鼠标位置实时显示坐标和颜色值&a…

vue3+vite 多个环境配置

同一套代码 再也不用在不同的环境里来回切换请求地址了 然后踩了一个坑 就是env的文件路径是在当前项目下 不是在views内 因为公司项目需求只有dev和pro两个环境 虽然我新增了3个 但是只在这两个里面配置了 .env是可以配置一些公共配置的 目前需求来说不需要 所以我也懒得配了。…

AI赋能PLC(一):三菱FX-3U编程实战初级篇

前言 在工业自动化领域,三菱PLC以其高可靠性、灵活性和广泛的应用场景,成为众多工程师的首选控制设备。然而,传统的PLC编程往往需要深厚的专业知识和经验积累,开发周期长且调试复杂。随着人工智能技术的快速发展,利用…

XSS 跨站Cookie 盗取表单劫持网络钓鱼溯源分析项目平台框架

漏洞原理:接受输入数据,输出显示数据后解析执行 基础类型:反射 ( 非持续 ) ,存储 ( 持续 ) , DOM-BASE 拓展类型: jquery , mxss , uxss , pdfxss , flashx…

鸿蒙应用(医院诊疗系统)开发篇2·Axios网络请求封装全流程解析

一、项目初始化与环境准备 1. 创建鸿蒙工程 src/main/ets/ ├── api/ │ ├── api.ets # 接口聚合入口 │ ├── login.ets # 登录模块接口 │ └── request.ets # 网络请求核心封装 └── pages/ └── login.ets # 登录页面逻辑…

ADAS高级驾驶辅助系统详细介绍

ADAS(高级驾驶辅助系统)核心模块,通过 “监测→预警→干预” 三层逻辑提升行车安全。用户选择车辆时,可关注传感器配置(如是否标配毫米波雷达)、功能覆盖场景(如 AEB 是否支持夜间行人&#xff…

Prometheus+Grafana+K8s构建监控告警系统

一、技术介绍 Prometheus、Grafana及K8S服务发现详解 Prometheus简介 Prometheus是一个开源的监控系统和时间序列数据库,最初由SoundCloud开发,现已成为CNCF(云原生计算基金会)的毕业项目‌。它专注于实时监控和告警,特别适合云原生和分布式…

MATLAB脚本实现了一个三自由度的通用航空运载器(CAV-H)的轨迹仿真,主要用于模拟升力体在不同飞行阶段(初始滑翔段、滑翔段、下压段)的运动轨迹

%升力体:通用航空运载器CAV-H %读取数据1 升力系数 alpha = [10 15 20]; Ma = [3.5 5 8 10 15 20 23]; alpha1 = 10:0.1:20; Ma1 = 3.5:0.1:23; [Ma1, alpha1] = meshgrid(Ma1, alpha1); CL = readmatrix(simulation.xlsx, Sheet, Sheet1, Range, B2:H4); CL1 = interp2(…

Day09【基于jieba分词和RNN实现的简单中文分词】

基于jieba分词和RNN实现的中文分词 目标数据准备主程序预测效果 目标 本文基于给定的中文词表,将输入的文本基于jieba分词分割为若干个词,词的末尾对应的标签为1,中间部分对应的标签为0,同时将分词后的单词基于中文词表做初步序列…

Linux-服务器添加审计日志功能

#查看audit软件是否在运行(状态为active而且为绿色表示已经在运行) systemctl start auditd #如果没有在运行的话,查看是否被系统禁用 (audit为0表示被禁用) cat /proc/cmdline | grep -w "audit=0" #修改/etc/default/grub里面audit=0 改为audit=1 #更新GRUB…

uniappx项目上架各手机平台

前段时间用uniappx开发的App,领导要求要在各个主要手机平台上上架了,本来不是我的任务,后来其他人没有空交给我了,上架小白一枚,哭唧唧的自己研究吧,根据领导发的账号密码登录各个平台上架,花费…

第4次课 前缀和与差分 A

课堂学习 前缀和数组 前1个收购点&#xff1a;3箱 前2个收购点&#xff1a;325箱 前3个收购点&#xff1a;32510箱 以此类推… 数组a存储10个收购点的箱数。 收购点编号从1~10&#xff0c;数组下标也从1开始使用。 下标0位置直接赋值0 #include<bits/stdc.h> using nam…

MySQL部分总结

mysql学习笔记&#xff0c;如有不足还请指出&#xff0c;谢谢。 外连接&#xff0c;内连接&#xff0c;全连接 外连接&#xff1a;左外、右外 内连接&#xff1a;自己和自己连接 全连接&#xff1a;左外连接右外链接 mysql unique字段 unique可以在数据库层面避免插入相同…

Spring MVC 请求处理流程详解

步骤1&#xff1a;用户发起请求 所有请求首先被 DispatcherServlet&#xff08;前端控制器&#xff09;拦截&#xff0c;它是整个流程的入口。 DispatcherServlet 继承自 HttpServlet&#xff0c;通过 web.xml 或 WebApplicationInitializer 配置映射路径&#xff08;如 /&…