图像处理与视觉感知---期末复习重点(2)

文章目录

  • 一、空间域图像增强
    • 1.1 图像增强
    • 1.2 几种变换
  • 二、直方图
    • 2.1 直方图定义
    • 2.2 直方图均衡化
    • 2.3 离散情况
    • 2.4 例子
    • 2.5 直方图匹配
    • 2.6 例子
    • 2.7 一道例题
  • 三、空间滤波器
    • 3.1 定义
    • 3.2 例子
  • 四、平滑空间滤波器
    • 4.1 作用与分类
    • 4.2 线性滤波器
  • 五、统计排序滤波器
    • 5.1 定义与分类
    • 5.2 计算公式


一、空间域图像增强

1.1 图像增强

 1. 图像增强:是一类基本的图像处理技术,其目的是对图像进行加工,以得到对视觉解释来说视觉效果“更好”、或对机器感知效果来说“更有用”的图像。

 2. 图像增强分为两类:(1) 空间域增强:对图像的像素直接处理。(2) 频域增强:对图像经傅里叶变换后的频谱成分进行处理,然后逆傅里叶变换获得所需的图像。

 3. 空间域增强: g ( x , y ) = T [ f ( x , y ) ] g(x,y)=T[f(x,y)] g(x,y)=T[f(x,y)]
f ( x , y ) f(x,y) f(x,y) 是原图像; g ( x , y ) g(x,y) g(x,y) 是处理后的图像; T T T 是作用于 f f f 的操作,定义在 ( x , y ) (x,y) (x,y) 的邻域。

 4. 空间域增强的简化形式: s = T ( r ) s=T(r) s=T(r)
r r r f ( x , y ) f(x,y) f(x,y) 在任意点 ( x , y ) (x,y) (x,y) 的灰度级; s s s g ( x , y ) g(x,y) g(x,y) 在任意点 ( x , y ) (x,y) (x,y) 的灰度级。

1.2 几种变换

 1. 反转变换和对数变换:

在这里插入图片描述

 2. 幂变换:

在这里插入图片描述

 3. 5灰度级切片

在这里插入图片描述

 4. 6位平面切片

在这里插入图片描述

二、直方图

2.1 直方图定义

 1. 定义(1):
 一个灰度级在范围 [ 0 , L − 1 ] [0,L-1] [0,L1] 的数字图像的直方图是一个离散函数。 h ( r k ) = n k h(r_k)=n_k h(rk)=nk;其中 n k n_k nk 是图像中灰度级为 r k r_k rk 的像素个数, r k r_k rk 是第 k k k 个灰度级, k = 0 , 1 , 2 , . . . , L − 1 k=0,1,2,...,L-1 k=0,1,2,...,L1
 由于 r k r_k rk 的增量是1,直方图可表示为: p ( k ) = n k p(k)=n_k p(k)=nk,即图像中不同灰度级像素出现的次数。

 2. 定义(2):
 一个灰度级在范围 [ 0 , L − 1 ] [0,L-1] [0,L1] 的数字图像的直方图是一个离散函数。 p ( r k ) = n k / n p(r_k)=n_k /n p(rk)=nk/n n n n 是图像的像素总数, n k n_k nk 是图像中灰度级为 r k r_k rk 的像素个数, r k r_k rk 是第 k k k 个灰度级, k = 0 , 1 , 2 , . . . , L − 1 k=0,1,2,...,L-1 k=0,1,2,...,L1

 3. 两种图像直方图定义的比较:

在这里插入图片描述

 4. 一个例子:

在这里插入图片描述

2.2 直方图均衡化

 1. 直方图均衡化思想:就是把一幅图像变换成具有均匀分布的概率密度函数的新图像过程。

在这里插入图片描述

 2. 先讨论连续变化图像的均衡化问题。在一幅图像中,可以认为灰度级是一个在 [ 0 , L − 1 ] [0,L-1] [0,L1] 区间取值的随机变量 R R R。设 r r r s s s 分别表示归一化了的原图像灰度级和经直方图均衡后的图像灰度级,即: ≤ r , s ≤ 1 ; s = T ( r ) ; ≤r,s≤1;s=T(r); r,s1s=T(r) T ( r ) T(r) T(r) 作为变换函数。
 在 [ 0 , 1 ] [0,1] [0,1] 区间内的任一个 r r r 值,都可产生一个 s s s 值,如下图所示:

在这里插入图片描述

 3. T ( r ) T(r) T(r) 作为变换函数,满足下列条件:① 在 0 ≤ r ≤ 1 0≤r≤1 0r1 内为单调递增函数,保证灰度级从黑到白的次序不变。 ② 在 0 ≤ r ≤ 1 0≤r≤1 0r1 内有 0 ≤ T ( r ) ≤ 1 0≤T(r)≤1 0T(r)1,确保映射后的像素灰度级在允许的范围内。
 反变换关系为: r = T − 1 ( s ) r=T^{-1}(s) r=T1(s) T − 1 ( s ) T^{-1}(s) T1(s) s s s 同样满足上述两个条件。

 4. 计算公式:

在这里插入图片描述

在这里插入图片描述

 5. 直方图均衡不一定总是好的。缺点:(1) 变换后图像的灰度级减少,某些细节消失。(2) 某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。

2.3 离散情况

 1. 离散情况下直方图均衡化的算法步骤:

 (1) 列出原始图像的灰度级 r j r_j rj j = 0 , 1 , 2 , . . . , L − 1 j=0,1,2,...,L-1 j=0,1,2,...,L1

 (2) 统计各灰度级的像素数目 n j n_j nj j = 0 , 1 , . . . , L − 1 j=0,1,...,L-1 j=0,1,...,L1

 (3) 计算原始图像直方图各灰度级的频率 P R ( r j ) = n j / n P_R(r_j)=n_j/n PR(rj)=nj/n j = 0 , 1 , . . . , L − 1 j=0,1,...,L-1 j=0,1,...,L1

 (4) 计算累计分布函数: S k = ∑ p R ( r j ) S_k=∑p_R(r_j) Sk=pR(rj) j = 0 , 1 , . . . , k , . . . , L − 1 j=0,1,...,k,...,L-1 j=0,1,...,k,...,L1

 (5) 把新的灰度级按就近原则转化为原灰度级: g k = I N T [ ( L − 1 ) s k + 0.5 ] g_k=INT[(L-1)s_k+0.5] gk=INT[(L1)sk+0.5],其中 I N T INT INT 为取整

 (6) 用原图像 r k r_k rk g k g_k gk 的映射关系,修改原图像灰度级,获得输出图像,其直方图为近似均匀分布

2.4 例子

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.5 直方图匹配

 1. 直方图匹配是指生成具有指定直方图的已处理图像。

 2. 离散情况下直方图匹配的过程:

在这里插入图片描述

2.6 例子

在这里插入图片描述

在这里插入图片描述

2.7 一道例题

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、空间滤波器

3.1 定义

在这里插入图片描述

3.2 例子

在这里插入图片描述

在这里插入图片描述

四、平滑空间滤波器

4.1 作用与分类

 1. 平滑空间滤波器的作用:(1) 模糊处理:去除图像中一些不重要的细节。 (2) 减小噪声。

 2. 平滑空间滤波器的分类:(1) 线性滤波器:均值滤波器。 (2) 非线性滤波器:①最大值滤波器 ②中值滤波器 ③最小值滤波器

4.2 线性滤波器

 1. 线性滤波器其特点是对图像中像素的计算是线性的。具体来说,这种滤波器通过对图像中的每个像素及其邻域进行线性运算来得出新的像素值。这些线性运算可以包括平滑加权求和、卷积等。

 2. 作用:(1) 减小图像灰度的 “尖锐” 变化,减小噪声。(2) 由于图像边缘是由灰度尖锐变化引起的,所以也存在边缘模糊问题。

 3. 计算公式:

在这里插入图片描述

五、统计排序滤波器

5.1 定义与分类

 1. 统计排序滤波器:是一种非线性滤波器,基于滤波器所在图像区域中像素的排序,由排序结果决定的值代替中心像素的值。

 2. 分类:(1) 中值滤波器:用像素领域内的中间值代替该像素。 (2) 最大值滤波器:用像素领域内的最大值代替该像素。 (3) 最小值滤波器:用像素领域内的最小值代替该像素。

5.2 计算公式

在这里插入图片描述

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

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

相关文章

RNN(Recurrent Neural Networks)循环神经网络

循环神经网络(Recurrent Neural Network,简称RNN)是一种处理序列数据的神经网络结构,它具有记忆能力,能够捕捉序列中的时序信息。RNN在自然语言处理、时间序列预测等方面有着很多的应用。 一、RNN 的基本结构 RNN的包…

【鸿蒙 HarmonyOS 4.0】常用组件:List/Grid/Tabs

一、背景 列表页面:List组件和Grid组件; 页签切换:Tabs组件; 二、列表页面 在我们常用的手机应用中,经常会见到一些数据列表,如设置页面、通讯录、商品列表等。下图中两个页面都包含列表,“…

STL容器之哈希

哈希 ​ 哈希本质上还是一个数组,只是数组的每一个位置要存储的值进行了映射; ​ 哈希也可以叫做散列; ​ 哈希比红黑树快是因为,不需要重复进行比较大小,直接用映射关系进行查找; ​ 哈希函数的设计应…

华为北向网管NCE开发教程(2)REST接口开发

华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 假设你现在要开始华为北向接口REST协议之前,需要准备如环境 1准…

Vue中用户权限如何处理?

Vue中用户权限如何处理? 在 Vue 中,可以采用多种方式来处理用户权限,以下是一些常见的方法: 1. 使用路由守卫 Vue Router 提供了 beforeEach 导航守卫,可以在路由跳转之前进行权限检查。例如: router.be…

Leetcode3069. 将元素分配到两个数组中 I

Every day a Leetcode 题目来源&#xff1a;3069. 将元素分配到两个数组中 I 解法1&#xff1a;模拟 简单地按题意模拟。 代码&#xff1a; /** lc appleetcode.cn id3069 langcpp** [3069] 将元素分配到两个数组中 I*/// lc codestart class Solution { public:vector<…

Android的FragmentManager介绍以及它管理Fragment的流程

Android的FragmentManager是用于管理Fragment的生命周期和交互的工具。FragmentManager的主要职责是管理Fragment的生命周期&#xff0c;包括Fragment的创建、销毁、显示、隐藏等操作。它还负责处理Fragment之间的交互&#xff0c;例如Fragment之间的数据传递和通信。 首先了解…

WPF依赖属性优先级

文章目录 一、前言二、依赖属性优先级2.1 前置知识2.2 WPF属性系统⭐2.2.1 在多处设置依赖属性 ⭐2.3 依赖属性优先级列表2.4 模板的父亲/模板化父亲 TemplatedParent2.5 Style 属性&#x1f53a;2.6 默认&#xff08;主题&#xff09;样式2.7 动态资源2.8 SetCurrentValue2.9 …

【libwebrtc】基于m114

libwebrtc A C++ wrapper for binary release, mainly used for flutter-webrtc desktop (windows, linux, embedded).是 基于m114版本的webrtc 最新(20240309 ) 的是m122了。官方给出的构建过程 .gclient 文件 solutions = [{"name" : src,"url

微软AI工程师向联邦贸易委员会(FTC)发出警告,对Copilot Designer的安全性表示担忧

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

gitte上传项目操作

一、项目背景 打比赛&#xff0c;多个人合作&#xff0c;选择github&#xff0c;顺便了解下git的代码操作。 二、步骤 2.1 新建仓库 2.2 打开你要上传到库的项目 2.2 选择 Git Bash Here 输入指令 git init 2.3 查找github的仓库 2.2 将文件放入暂缓区 git add . 2.3填写…

LLM PreTraining from scratch -- 大模型从头开始预训练指北

最近做了一些大模型训练相关的训练相关的技术储备&#xff0c;在内部平台上完成了多机多卡的llm 预训练的尝试&#xff0c;具体的过程大致如下&#xff1a; 数据准备&#xff1a; 大语言模型的训练依赖于与之匹配的语料数据&#xff0c;在开源社区有一群人在自发的整理高质量的…

vue3 使用 mock 模拟服务器接口

文章目录 1. 安装相应的包2. 创建相关文件3. 构建请求 axios-mock-adapter 在前端开发中&#xff0c;需要模拟请求或者数据来做一些简单的调试&#xff0c;这里可以使用mock来模拟服务器接口&#xff1b; 1. 安装相应的包 这里需要安装两个包&#xff0c;一个是axios&#x…

jeecgboot 新建子模块 使用@EXCEL实现实现导入导出功能

一&#xff0c;用框架生成增删改查模块 二&#xff0c;在实体类entity 需要导入导出的字段上加上注解Excel 三&#xff0c;在controller类上继承jeecgboot通用controller JeecgController 并且在JeecgController里增加导出模板的方法 /*** 导出excel空模板** param req…

HTML:用对 preload、prefetch提升网页加载速度

在网页加载和数据获取方面&#xff0c;“preload” 和 “prefetch” 都是用来优化性能和用户体验的技术手段&#xff0c;但它们有一些区别。 Preload&#xff08;预加载&#xff09;&#xff1a; preload 用于指示浏览器在解析当前文档时预先加载指定资源&#xff08;如 CSS …

专业140+总430+电子科技大学858信号与系统考研经验成电电子信息与通信工程,电科大,真题,大纲,参考书。

今年考研成绩出来&#xff0c;初试专业课858信号与系统140&#xff0c;总分430&#xff0c;其余各门分数都比较平稳&#xff0c;总分好于自己估分&#xff0c;应群里很多同学要求&#xff0c;我总结一下自己的复习经验。首先我是一个大冤种&#xff0c;专业课资料学长给了一套&…

Linux select开发服务端

多路IO技术&#xff1a;select,同时监听多个文件描述符&#xff0c;将监控的操作交给内核去处理。 数据类型fd_set:文件描述符集合。 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 函数介绍&am…

态势感知的扭曲

态势感知中的扭曲是指由于各种原因导致对某些信息的感知出现偏差或错误的情况。扭曲可能是由于观察者的主观因素、信息来源的局限性、信息传递的失真等引起的。 在态势感知中&#xff0c;观察者的主观因素可能导致扭曲。例如&#xff0c;观察者的个人偏见、情绪状态、经验背景等…

5.53 BCC工具之dbslower.py解读

一,工具简介 dbstat用于追踪由MySQL或PostgreSQL数据库进程执行的查询,并显示查询延迟的直方图。 二,代码示例 #!/usr/bin/env pythonfrom bcc import BPF, USDT import argparse import subprocess from time import sleep, strftimeexamples = """dbsta…

挑战杯 基于深度学习的视频多目标跟踪实现

文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的视频多目标跟踪实现 …