图像处理与视觉感知---期末复习重点(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,L−1] 的数字图像的直方图是一个离散函数。 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,...,L−1。
由于 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,L−1] 的数字图像的直方图是一个离散函数。 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,...,L−1。
3. 两种图像直方图定义的比较:

4. 一个例子:

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

2. 先讨论连续变化图像的均衡化问题。在一幅图像中,可以认为灰度级是一个在 [ 0 , L − 1 ] [0,L-1] [0,L−1] 区间取值的随机变量 R R R。设 r r r 和 s s s 分别表示归一化了的原图像灰度级和经直方图均衡后的图像灰度级,即: ≤ r , s ≤ 1 ; s = T ( r ) ; ≤r,s≤1;s=T(r); ≤r,s≤1;s=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 0≤r≤1 内为单调递增函数,保证灰度级从黑到白的次序不变。 ② 在 0 ≤ r ≤ 1 0≤r≤1 0≤r≤1 内有 0 ≤ T ( r ) ≤ 1 0≤T(r)≤1 0≤T(r)≤1,确保映射后的像素灰度级在允许的范围内。
反变换关系为: r = T − 1 ( s ) r=T^{-1}(s) r=T−1(s); T − 1 ( s ) T^{-1}(s) T−1(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,...,L−1
(2) 统计各灰度级的像素数目 n j n_j nj, j = 0 , 1 , . . . , L − 1 j=0,1,...,L-1 j=0,1,...,L−1
(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,...,L−1
(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,...,L−1
(5) 把新的灰度级按就近原则转化为原灰度级: g k = I N T [ ( L − 1 ) s k + 0.5 ] g_k=INT[(L-1)s_k+0.5] gk=INT[(L−1)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 计算公式

相关文章:
图像处理与视觉感知---期末复习重点(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 定义与分类…...
【机器学习】三要素——数据、模型、算法
机器学习三要素 数据模型模型是怎么得到的?算法 我 在学习过程中,对于“模型”和“算法”的概念不清晰,一直混淆,通过查阅了一些资料在此总结一下。 数据、模型与算法被称为机器学习的三要素,因为它们在机器学习中具有不可分割的作…...
Spring框架Bean对象的五个作用域
一、前言:Bean对象简介 在Spring项目中,那些由Spring IoC容器所管理的对象,称为bean。简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而…...
IoT数据采集网关在企业应用中扮演着关键角色-天拓四方
随着物联网(IoT)技术的不断发展,越来越多的企业开始利用IoT技术实现智能化、自动化的生产和管理。在这个过程中,IoT数据采集网关作为连接物理世界与数字世界的桥梁,发挥着至关重要的作用。 IoT数据采集网关是一种硬件…...
【动态规划】完全背包
欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 👉🏻完全背包 👉🏻…...
从零开始学习Diffusion Models: Sharon Zhou
How Diffusion Models Work 本文是 https://www.deeplearning.ai/short-courses/how-diffusion-models-work/ 这门课程的学习笔记。 文章目录 How Diffusion Models WorkWhat you’ll learn in this course [1] Intuition[2] SamplingSetting Things UpSamplingDemonstrate i…...
全天候购药系统(微信小程序+web后台管理)
PurchaseApplet 全天候购药系统(微信小程序web后台管理) 传统线下购药方式存在无法全天候向用户提供购药服务,无法随时提供诊疗服务等问题。为此,运用软件工程开发规范,充分调研建立需求模型,编写开发文档…...
L2-003 月饼(Java)
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的&#…...
vue面试--101, 1vue3为啥比vue2好 2 vue3为什么使用proxy
1vue3为啥比vue2好 2 vue3为什么使用proxy...
【sgPhotoPlayer】自定义组件:图片预览,支持点击放大、缩小、旋转图片
特性: 支持设置初始索引值支持显示标题、日期、大小、当前图片位置支持无限循环切换轮播支持鼠标滑轮滚动、左右键、上下键、PageUp、PageDown、Home、End操作切换图片支持Esc关闭窗口 sgPhotoPlayer源码 <template><div :class"$options.name"…...
cefsharp(winForm)调用js脚本,js脚本调用c#方法
本博文针对js-csharp交互(相互调用的应用) (一)、js调用c#方法 1.1 类名称:cs_js_obj public class cs_js_obj{//注意,js调用C#,不一定在主线程上调用的,需要用SynchronizationContext来切换到主线程//private System.Threading.SynchronizationContext context;//…...
Tensorflow实现手写数字识别
模型架构 具有10个神经元,对应10个类别(0-9的数字)。使用softmax激活函数,对多分类问题进行概率归一化。输出层 (Dense):具有64个神经元。激活函数为ReLU。全连接层 (Dense):将二维数据展平成一维,为全连接层做准备。展…...
谈谈杭州某小公司面试的经历
#面试#本人bg211本,一段实习,前几天面了杭州某小厂公司,直接给我干无语了! 1、先介绍介绍你自己,我说了我的一个情况。 2、没获奖和竞赛经历吗?我说确实没有呢,面试官叹气了一下,只是…...
如何使用WinSCP结合Cpolar实现公网远程访问内网Linux服务器
文章目录 1. 简介2. 软件下载安装:3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件,它的主要功能是在本地与远程计…...
6. 互质
互质 互质 互质 每次测试的时间限制: 3 秒 每次测试的时间限制:3 秒 每次测试的时间限制:3秒 每次测试的内存限制: 256 兆字节 每次测试的内存限制:256 兆字节 每次测试的内存限制:256兆字节 题目描述 给定…...
微信小程序(五十一)页面背景(全屏)
注释很详细,直接上代码 上一篇 新增内容: 1.页面背景的基本写法 2.去除默认上标题实习全屏背景 3. 背景适配细节 源码: index.wxss page{/* 背景链接 */background-image: url(https://pic3.zhimg.com/v2-a76bafdecdacebcc89b5d4f351a53e6a_…...
MATLAB | MATLAB版玫瑰祝伟大女性节日快乐!!
妇女节到了,这里祝全体伟大的女性,节日快乐,事业有成,万事胜意。 作为MATLAB爱好者,这里还是老传统画朵花叭,不过感觉大部分样式的花都画过了,这里将一段很古老的2012年的html玫瑰花代码转成MA…...
LVS+Keepalived 高可用集群
目录 一.Keepalived工具介绍 1.用户空间核心组件: (1)vrrp stack:VIP消息通告 (2)checkers:监测real server(简单来说 就是监控后端真实服务器的服务) (…...
Linux:kubernetes(k8s)探针ReadinessProbe的使用(9)
本章yaml文件是根据之前文章迭代修改过来的 先将之前的pod删除,然后使用下面这个yaml进行生成pod apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据,用于描述pod的数据name: nginx-po # pod名称labels: # pod的标…...
专题一 - 双指针 - leetcode 1089. 复写零 - 简单难度
leetcode 1089. 复写零 leetcode 1089. 复写零 | 简单难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 1089. 复写零 | 简单难度 1. 题目详情 给你一个长度固定的整数数组 arr ,请你将…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
