数字图像处理-基本知识总结_数字图像处理学习-程序员宅基地

技术标签: 图像处理  

数据图像处理基本知识数字图像处理基础_张红 的博客-程序员宅基地

预备知识
1.颜色空间
答:
RGB:red,green,blue(红,绿,蓝)
HSV:hue, saturation, value(色调:颜色种类;饱和度:颜色纯度;明度:颜色明亮度)
CMY(K):cyan,magenta,yellow,key(蓝绿,品红,黄,黑)
CIE-XYZ:人眼颜色视觉
Lab:

2.像素值范围
答:[0,255]或者[0,1]

3.图片存储
答:
彩色图:RGB三通道存储(三维矩阵:三个矩阵表示),如Red通道,像素值在255之间,0表示黑,255表示最红。
当某个像素点的三个通道值均为255,那么这个像素点的值就是255,呈白色。
灰度图:黑(0),白(255),中间值为不同程度的灰色
彩色图转化为灰度图:Gray=R0.3+G0.59+B*0.11

4.图像增强的目标
答:
抑制无用信息,突出有用信息

第一章、图像的预处理
图像处理分为空间域处理和频率域处理。

一、直方图有关知识
1.什么是直方图?
答:
直方图是图像灰度值的统计,横坐标为灰度值(0~255),纵坐标为像素点个数

2.什么是直方图均衡?
答:
对密集的直方图进行非线性拉伸,密集的直方图变得离散一点,使得图片成块灰度值的地方,对比度变得更好。

3.什么是自适应直方图均衡?(AHE)
答:
通过滑窗,每个窗口做直方图均衡,对于图片同时含有暗和亮,处理效果更好。

4.什么是限制对比度自适应直方图均衡?(CLAHE)
答:
在自适应直方图均衡的基础上进行优化,使得图片中的各位置灰度值具有连续性,看上去更自然一点。

二、形态学有关知识
1.什么是腐蚀和膨胀?
答:
腐蚀:用一个小矩阵模板,沿着图像的高亮部分的内边缘过一遍,其小模板中心点的轨迹形成了新的图像,这就是图片的腐蚀。
膨胀:用一个小矩阵模板,沿着图像的高亮部分的外边缘过一遍,其小模板中心点的轨迹形成了新的图像,这就是图片的膨胀。

2.开运算和闭运算?
答:
开运算:先腐蚀再膨胀,消除目标外的孤立点
闭运算:先膨胀再腐蚀,消除目标内的孔洞

三、空域分析及变换
1.什么是滤波(卷积)?
答:
对图片中某个像素点,用滤波函数(卷积核)乘以该像素点的领域,得到该像素的滤波结果。
(用卷积核对图片进行滑窗,两个矩阵中的数字对应相乘再相加)
定义不同的滤波函数(卷积核3x3、5x5、7x7等),会对图像产生不同的效果,如平滑处理(也叫去燥)、求梯度(也叫锐化)、边缘检测、特征点检测,深度学习中的特征提取也是类似的道理。

2.边界填充的类型?
答:
补零,边界复制,镜像复制,块复制

3.各种滤波函数?
答:

1)均值滤波
方法:使用值全为1卷积核,步长为1,边界填充0
作用:使得图片变模糊了,噪声点没有去除,图像细节也丢失了,没啥用。

2)中值滤波
答:
方法:卷积核滑窗时,将图像中对应矩形区域内的像素,从小到大排序,并选择中间值作为该位置像素的输出
作用:可以去除椒盐噪声,即去除图片中的麻点

3)高斯滤波
方法 :用中间位置像素值大的高斯核处理图片。


作用:模拟人眼,突出中心区域,类似于背景虚化


注:将2D卷积拆分成2个1D卷积,可以有效降低计算量。


4)prewitt滤波:
方法:卷积核的一个方向有梯度,一个方向均值平滑
作用:检测图像中某个方向上(水平或垂直)具有梯度变化的像素领域,即检测边缘,另一个方向变模糊。


5)sobel滤波
方法:卷积核的一个方向有梯度,一个方向高斯平滑
作用:检测图像中某个方向上(水平或垂直)具有梯度变化的像素领域,即检测边缘,另一个方向突出中心区域。。


6)拉普拉斯滤波:
方法:卷积核的值加起来为0,中心点的值等于周围总和值(绝对值相等)
作用:原图减去拉普拉斯滤波后的图像,得到的图像可以突出图像的细节。拉普拉斯滤波本身可以检测边缘、团块


4.高斯金字塔和拉普拉斯金字塔
1)高斯金字塔
作用:用于图像缩放,获取同一物体的不同尺寸。
方法:先进行高斯滤波,再进行降采样

2)拉普拉斯金字塔
方法:第i+1层高斯金字塔图像经过上采样,并进行高斯模糊后,再与第i层高斯金字塔图像相减,可以得到拉普拉斯金字塔的第i层图像。
作用:用于图像恢复,由小尺度图像得到大尺度图像。
图像的高频细节在卷积和下采样中会丢失,而拉普拉斯金字塔可以保留不同尺度的高频信息,并用于图像恢复。

四、频域分析及处理
图像的空间域处理,就是用卷积核进行运算,但是速度太慢。考虑将空间域变换到频率域。

1.傅里叶变换
思路:将空间域信号变成频域
作用:频谱滤波,处理空间域无法处理的情况。

2)小波变换
第二章:图像特征与描述
一、颜色特征
1.量化颜色直方图:对颜色空间进行单元格划分,统计落在单元格的像素点数量。用于RGB,HSV颜色空间。

2.聚类颜色直方图:对出现的像素点颜色进行直方图统计。用于Lab颜色空间。

二、几何特征:边缘(Edge)
1.边缘定义
答:
图片中像素值快速变化的区域,具有丰富的语义信息(像素值的一阶导数,取极值)

2.边缘提取
答:
由于图片中存在噪声,导数对噪声敏感,如果直接提取边缘,会有许多噪声的地方也会出现极值,所以先用高斯平滑滤波,可以突出图片中边缘,去除噪声;最后求导进行边缘提取

(总结:先高斯滤波,再对像素值使用一阶导数,一阶导数极值的地方就是边缘了)
1
3.梯度求边缘
答:
由于图片中的边缘是分布在不同方向上的,比如横着方向提取的边缘,表示图片在这一区域的像素值,横着方向变化剧烈。
那么如果像素值在任一方向变化剧烈,该怎么提取边缘呢?即将横着方向,扩展为梯度方向,可找到当前像素点沿着哪个方向变化最激烈。

那么变化的剧烈值是多少呢?即对x,y方向变化的值,两个一阶导数取平方,再求和,就是梯度。


注:由于提取边缘用的高斯滤波,高斯平滑函数的σ决定高斯函数的胖瘦和高低,即决定边缘提取的精度,σ越小,边缘提取越精确。

三、几何特征:特征点(Corner)
1.特征点定义
答:
我们人类在从不同距离,不同方向,不同光照条件下观察一个物体时,虽然这个物体的大小,形状,明暗都会有不同,但是我们仍然可以判断出,它们是同一个物体。所以,我们认为物体中有些点**(特征点或者关键点),在物体处于不同条件下时,彼此能够匹配**。
那我们在什么条件下仍为两个点就是匹配的特征点呢,这需要描述子来进行判断。


2.harris角点
答:
用一个小窗口,在任一方向上移动,如果每个方向上都有较大的像素值变动,当前位置就是一个角点。如果只有一个方向有像素值变动大,当前位置为边缘直线。无变动则为平区域。


3.fast角点
答:
找特殊点,以某个像素点为中心,观察一个离散圆,如果圆上有n个连续点的像素值,超过或低于某个像素阈值,就认为这个中心像素点是一个角点。


4.SIFT特征点
答:
斑点:SIFT、SURF、ORB
像素值函数的一阶导数值最大值(像素值函数的二阶导数值为0),表示的是边缘。
像素值函数的二阶导数值,取最大值,此时像素点的位置就是斑点。

1)SIFT特征点计算过程
需要理解每一步的具体操作:检测关键点、选关键点方向、生成关键点描述子


检测关键点:
用DOG高斯差分空间代替LOG拉普拉斯空间,减小计算量

选关键点方向:


生成关键点描述子:

2)SIFT算子优缺点


5.SURF特征点
答:

1)SURF特征点计算过程
需要理解每一步的具体操作:

2)SURF算子优缺点


6.ORB特征点
1)ORB特征点计算过程
需要理解每一步的具体操作:改进的fast角点,改进的brief描述子


改进BRIEF描述子:


2)ORB算子优缺点


7.LBP局部二值模式
答:
也是一种特征提取方法。

1)LBP特征计算过程
需要理解每一步的具体操作:

2)LBP算子优缺点


8.Gabor
答:


第三章:传统图像分割和检测算法
一、图像分割
答:
基于图论的图像分割是重点

二、人脸检测
答:
Haar-like特征 + 级联分类器

三、行人检测
答:
方法1: HOG + SVM
方法2:DPM

数据图像处理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_65157297/article/details/129534439

智能推荐

2023年,最新linux c/c++后台开发学习路线分享_linux c学习项目-程序员宅基地

文章浏览阅读788次。摘自零声教育课程大纲,8个技术维度+项目实战,为你打通linux c/c++后台开发的技术栈。部分往期视频。_linux c学习项目

ajax post导出excel(解决乱码问题)_ajax接收byte[]类型数据生成的excel乱码怎么办-程序员宅基地

文章浏览阅读5.2k次,点赞3次,收藏5次。当前有一个需求 前端对当前页面的数据做筛选之后需要将其导出至excel文件且发送的请求需传入需验证的参数如页面token信息尝试了form提交及其他方法后出现excel乱码等问题 最后用ajax成功完成了导出。直接贴代码:下面是解释:xhr.responseType = “arraybuffer”;这段代码不加会导致导出的excel出现乱码问题。xhr.onload内操作如下:使用..._ajax接收byte[]类型数据生成的excel乱码怎么办

Educoder---Java面向对象(第二章)封装、继承和多态_大花猫喵喵叫java-程序员宅基地

文章浏览阅读1.5w次,点赞30次,收藏143次。第一题声明一个Person类,私有化属性name和age,并将字段封装起来;在Person类中定义一个talk()方法,打印姓名和年龄信息;在main方法中声明并实例化一Person对象p,给p中的属性赋值,调用talk()方法打印 我是:张三,今年:18岁。测试说明测试输入:我是:张三,今年:18岁/********* begin *********/ // 声明并实例化一..._大花猫喵喵叫java

IDEA创建第一个Javaweb项目包括数据库连接_idea创建javaweb项目包括数据库连接-程序员宅基地

文章浏览阅读8.2k次,点赞39次,收藏182次。本文旨在让刚入门Java的新手能够创建第一个web项目,能够对Javaweb开发有一个基本的认识和了解。本文所用工具:Intellij IDEA,可在官网下载社区版或专业版,社区版是免费的。环境:jdk 12.0.2web服务器软件:tomcat 9.0.30数据库:MySQL 8.0.18 (不需数据库只需跳过后面部分即可)Java数据库连接驱动:jdbc 8.0.18jdbc下载教..._idea创建javaweb项目包括数据库连接

数据库课程设计:简易版超市信息管理系统(Java+MySQL)_数据库超市管理系统-程序员宅基地

文章浏览阅读7.2w次,点赞35次,收藏247次。分享一个简单的Java+JDBC+MySQL数据库开发的简易版超市管理系统,完成简单的基础功能,如登录验证,进货管理,售货管理,信息查询等等,适合做课程设计呢,喜欢的小伙伴可以来看看呢实现功能:库存管理销售管理信息查询系统进货售货库存查询 进货查询 售货查询退出超市数据库进货表(顺序码,条形码,进价,采购数量,采购日期)售货表(顺序码,条形码,数量,零售价,日期时间)库存表(条形码,商品名称,库存量,生产厂商,商品规格,零售价)用户表(顺序码,用户名._数据库超市管理系统

史上最全BI知识全解,万字长文带你读懂BI-程序员宅基地

文章浏览阅读487次。这种独立的、单独的面向前端的商业智能BI分析工具,他们更多的定位是部门级和个人级的商业智能BI 分析工具,对于深层次的需要复杂数据处理、集成、建模等很多场景是无法解决的。从市场宣传和销售的角度来说,简化产品的复杂度和上手难度的宣传是没有问题的,有问题的是以一种错误的讲解、不专业的讲解最终误导企业接受了这些不正确的概念,并以这些不正确的概念来评估与规划 商业智能BI 项目的建设,没有充分预计到 商业智能BI 项目建设过程中可能会遇到的挑战与风险,最后导致项目的不成功与失败、反复建设。

随便推点

POJ 1584 A Round Peg in a Ground Hole 判断一个多边形是否为凸包_凸包 hole-程序员宅基地

文章浏览阅读142次。http://poj.org/problem?id=1584DescriptionThe DIY Furniture company specializes in assemble-it-yourself furniture kits. Typically, the pieces of wood are attached to one another using a wooden peg th..._凸包 hole

Integer和int的区别?为什么在项目里面用Integer?_为什么 @pathvariable 后面跟integer和int 有什么不同-程序员宅基地

文章浏览阅读1.9k次,点赞7次,收藏10次。(@[TOC]) int和Integer的区别1、Integer是int的包装类,int则是java的一种基本数据类型2、Integer变量必须实例化后才能使用,而int变量不需要3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4、Integer的默认值是null,int的默认值是0..._为什么 @pathvariable 后面跟integer和int 有什么不同

利用RMAN进行Oracle数据库的异构迁移(Windows to Linux)_set newname for database-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏6次。1、 名称解释RMAN:RMAN(Recovery Manager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。冷备:数据库关闭状态时进行备份CRS:Cluster Ready Service(Oracle集群就绪服务)RAC:RAC是real application clusters的缩写,译为“实时应用集群”, 是Ora..._set newname for database

一文教你懂得什么什么是EMC(电磁兼容)_emc三要素-程序员宅基地

文章浏览阅读1.9w次,点赞31次,收藏344次。EMC(电磁兼容)一直是电路设计和PCB设计中的难题。EMS是指设备在电磁环境中可以正常工作并且不对其它的设备造成干扰。EMS可以分为两部分,一个是EMI(电磁干扰),一个是EMS(电磁敏感度)。EMI是设备本身对于其他设备的攻击性,而EMS是设备本身对于其它设备抗干扰的能力。EMC测试结果的评价A级:实验中技术性能指标正常B级:试验中性能暂时降低,功能不丧失,实验后能自行恢复C级:功能允许丧失,但能自恢复,或操作者干预后能恢复R级:除保护元件外,不允许出现因设备(元件)或软件损坏数据丢失而造成不能_emc三要素

认识 ORM 框架 Hibernate,为什么 2022 年了还在谈论它?_为什么还有2023人在用hibernate-程序员宅基地

文章浏览阅读709次。Hibernate 作为一种全自动 ORM 框架,在几年前常与 Spring、Struts2 一起使用。伴随着 MyBatis 的诞生,以及 Hibernate 本身的一些缺陷,如今 Hibernate 已经慢慢淡出了大家的视野。有时我们还会将其与 MyBatis 做一些对比,不过由于很多同学没有使用过它,可能查阅一些资料后还是云里雾里的,因此有必要对 Hibernate 有一个入门级的认识。........._为什么还有2023人在用hibernate

css中设置多张背景图片_css 多个背景图-程序员宅基地

文章浏览阅读1.4w次,点赞3次,收藏30次。有一些应用场景中,我们需要叠加设置多张图片,一般我们可能是采用img来设置,但还有一种更简单的方法,采用背景属性来设置,css提供了可同时设置多张背景图的属性。语法如下:.bg{ background: url('../img/bg1.png'), url('../img/bg2.png'), url('../img/bg3.png')}为不同的背景图片..._css 多个背景图