![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数字图像处理入门
文章平均质量分 85
淡定的炮仗
好好学习天天向上
展开
-
(二十三)图像相似度比较哈希算法
图像相似度比较哈希算法相似图像搜索的哈希算法有三种:1.均值哈希算法2.差值哈希算法3.感知哈希算法什么是哈希(Hash)• 散列函数(或散列算法,又称哈希函数,英语: Hash Function )是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值( hash values hash codes hash sums或 hashes )的指纹。散列值通常用一个短的随机字母和数字组成原创 2021-02-23 22:07:30 · 1649 阅读 · 0 评论 -
(二十二)用RANSAC算法来求线性回归模型的参数
线性回归模型一、什么是线性回归?举个例子,某商品的利润在售价为2 元、 5 元、 10 元时分别为 4 元、 11 元、 20 元,我们很容易得出商品的利润与售价的关系符合直线:y=2x.在上面这个简单的一元线性回归方程中,我们称“2” 为回归系数,即斜率为其回归系数。回归系数表示商品的售价( 每变动一个单位,其利润 ( 与之对应的变动关系。当我们选择线性回归去拟合数据时,我们就认为这组数据总体上是符合线性的,但具体是哪条直线我们还不知道。因此我们的目的是要找到这些离散的点总体上 最逼近 哪原创 2021-02-23 21:28:27 · 1444 阅读 · 0 评论 -
(二十一)sift 特征点检测
sift(尺度不变特征变换)一、sift 算法的目标sift 的目标是: 找到一幅图像中的一些稳定的保持不变性的局部特征点,该特征点被一个特殊向量描述。该特征点的特征叫做sift特征1999年British Co1umbia大学大卫.劳伊( David G.Lowe)教授总结了现有的基于不变量技术的特征检测方法,并正式提出了一种基于尺度空间的、对图像缩放、旋转甚至仿射变换保持不变性的图像局部特征描述算子-SIFT(尺度不变特征变换),这种算法在2004年被加以完善。1.哪些点是SIFT中要查找的关键原创 2021-02-22 22:29:00 · 3919 阅读 · 1 评论 -
(二十)图像滤波
图像滤波1.图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。2.消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。3.平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单原创 2021-02-08 20:21:46 · 3435 阅读 · 0 评论 -
(二十一)图像增强
图像增强有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。图像增强方式图像增强可以分为两种:• 点处理技术。只对单个像素进行处理。• 领域处理技术。对像素点及其周围的点进行处理,即使用卷积核。点处理1. 线性变换图像增强线性变换主要对图像的对比度和亮度进行调整:参数 a 影响图像的对比度,参数 b 影响图像的亮度,具体可原创 2021-02-08 20:10:35 · 1923 阅读 · 1 评论 -
(十九)图像噪声
噪声生成1、图像噪声是图像在获取或是传输过程中受到随机信号干扰,妨碍人们对图像理解及分析处理的信号。2、图像噪声的产生来自图像获取中的环境条件和传感元器件自身的质量,图像在传输过程中产生图像噪声的主要因素是所用的传输信道受到了噪声的污染。一、高斯噪声高斯噪声(Gaussian noise)是指它的概率密度函数服从高斯分布的一类噪声。• 特别的,如果一个噪声,它的幅度分布服从高斯分布,而它的任意两个采样样本之间不相关,则称它为高斯白噪声。• 必须区分高斯噪声和白噪声两个不同的概念。高斯噪声是原创 2021-02-08 12:41:41 · 3106 阅读 · 0 评论 -
(十八)密度聚类DBSCAN
密度聚类DBSCANDBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法) 是一种很典型的密度聚类算法,和K-Means,BIRCH这些一般只适用于凸样本集的聚类相比,DBSCAN既可以适用于凸样本集,也可以适用于非凸样本集。一. 密度聚类原理DBSCAN是一种基于密度的聚类算法,这类密度聚类算法一般假定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们之间的紧密相连的,也就是说,在该类原创 2021-02-08 10:53:19 · 1126 阅读 · 0 评论 -
(十七 层次聚类)
层次聚类参考什么是层次聚类层次聚类(Hierarchical Clustering)是聚类算法的一种,顾名思义就是要一层一层地进行聚类,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。创建聚类树有自下而上合并和自上而下分裂两种方法。层次聚类的原理层次聚类的合并算法通过计算两类数据点间的相似性,对所有数据点中最为相似的两个数据点进行组合,并反复迭代这一过程。简单的说层次聚类的合并算法是通过计算每一个类别的数据点原创 2021-02-03 18:01:21 · 4554 阅读 · 1 评论 -
(十六)K-Means聚类
分类与聚类一、分类分类其实是从特定的数据中挖掘模式,作出判断的过程。分类学习主要过程:(1)训练数据集存在一个类标记号,判断它是正向数据集(起积极作用,不垃圾邮件),还是负向数据集(起抑制作用,垃圾邮件);(2)然后需要对数据集进行学习训练,并构建一个训练的模型;(3)通过该模型对预测数据集进预测,并计算其结果的性能。二、聚类从广义上说,聚类就是将数据集中在某些方面相似的数据成员放在一起。一个聚类就是一些数据实例的集合,其中处于相同聚类中的数据元素彼此相似,但是处于不同聚类中的元素彼此原创 2021-01-28 16:12:49 · 726 阅读 · 0 评论 -
(十五)立体视觉
立体视觉立体视觉是双眼观察景物能分辨物体远近形态的感觉。因此实现立体视觉是要求我们根据相机的成像来计算出成像点到相机的距离。因此需要视觉测距算法何为立体视觉:立体视觉是一种计算机视觉技术,其目的是从两幅或两幅以上的图像中推理出图像中每个像素点的深度信息。立体视觉的应用领域:机器人、辅助驾驶/无人驾驶、无人机等等。立体视觉的原理:立体视觉借鉴了人类双眼的“视差”原理,即左、右眼对于真实世界中某一物体的观测是存在差异的,我们的大脑正是利用了左、右眼的差异,使得我们能够辨识物体的远近。(视差)原创 2021-01-28 14:17:20 · 737 阅读 · 0 评论 -
(十四)透视变换
透视变换(Perspective Transformation)一、透视变换定义透视变换(Perspective Transformation)的本质是将图像投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。二、透视变换的目的(功能)透视变换的目的就是把现实中为直线的物体,在图片上可能呈现为斜线,通过透视变换转换成直线的变换。三、透视变换的基本原理透视变换(Perspective Transformation)的本质是将图像投影到一个原创 2021-01-19 19:34:49 · 30396 阅读 · 15 评论 -
(十三)图像畸变矫正
图像畸变矫正针孔相机模型不考虑镜头畸变,因为一个理想的针孔相机没有镜头。但是由于相机的结构中存在着一些光学透镜,导致成像后的图像发生了扭曲,原本直立的高楼变得扭曲。一、图像畸变原因图像畸变的原因有很多,现在只考虑由于相机本身引起的畸变。1、镜头畸变Ø 透镜由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。Ø 镜头的畸变分为径向畸变和切向畸变两类。二、径向畸变定义:由透镜的形状引起的畸变称为径向畸变。即沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更原创 2021-01-19 16:19:26 · 13533 阅读 · 1 评论 -
(十二)相机模型
一、相机模型:相机模型是用来描述将三维世界坐标系中的坐标点映射到二维图像平面的过程二、针孔相机模型针孔相机模型特点:照片记录了真实世界在平面上的投影。丢失了距离上的信息。)(丢失了深度信息)普通相机可以用针孔模型近似。如图所示点P通过相机光心,在成相平面成了一个像P’。1、针孔相机模型针的坐标系针孔相机模型存在四个坐标系:世界坐标系: 是客观三维世界的绝对坐标系,也称客观坐标系。就是物体在真实世界中的坐标。世界坐标系是随着物体的大小和位置变化的,单位是长度单位。摄像机坐标系:原创 2021-01-19 13:41:57 · 4675 阅读 · 0 评论 -
(十一)Canny 边缘检测算法
Canny边缘检测算法一、边缘检测的步骤1)滤波: 边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。常见的滤波方法主要有高斯滤波、均值滤波等。2)增强: 增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将图像灰度点邻域强度值有显著变化的点凸显出来。在具体编程实现时,可通过计算梯度幅值来确定。一般用sobel算子3)检测: 经过增强的图像,往往邻域中有很多点的梯度值比较大,而在特定的应用中,这些点并不是我们原创 2021-01-18 16:58:29 · 25475 阅读 · 7 评论 -
(十)边缘提取(检测)
Canny边缘提取(检测)一、什么是边缘?图象的边缘是指 图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。边缘有正负之分,就像导数有正值也有负值一样:由暗到亮为正,由亮到暗为负边缘检测主要是图象的灰度变化的度量、检测和定位。二、边缘提取(检测)的原理(依据)关于边缘检测的基础来自于一个事实,即在边缘部分,像素值出现”跳跃“或者较大的变化。如果在此边缘部分求取一阶导数,就会看到极值的出现。而在一阶原创 2021-01-18 14:19:28 · 12892 阅读 · 2 评论 -
(九)特征提取之主成分分析(PCA)
主成分分析(PCA)一、PCA算法是如何实现的?简单来说,就是将数据从原始的空间中转换到新的特征空间中,例如原始的空间是三维的(x,y,z),x、y、z分别是原始空间的三个基,我们可以通过某种方法,用新的坐标系(a,b,c)来表示原始的数据,那么a、b、c就是新的基,它们组成新的特征空间。在新的特征空间中,可能所有的数据在c上的投影都接近于0,即可以忽略,那么我们就可以直接用(a,b)来表示数据,这样数据就从三维的(x,y,z)降到了二维的(a,b)。所谓的在某个轴投影接近于0的理解如下图,数据在x轴原创 2021-01-12 17:45:56 · 10086 阅读 · 1 评论 -
(八)特征选择与特征提取
特征选择与特征提取一、特征的选择1、原始特征在描述对象的时候模式识别中把每个对象都量化为一组特征来描述,构建特征空间是解决模式识别问题的第一步,其中通过直接测量得到的特征称为原始特征。如: - 人体的各种生理指标(以描述健康状况) - 数字图像中的每点的灰度值(以描述图像内容)原始特征的形成一般包含三大类:物理、结构和数学特征物理和结构特征:易于为人的直觉感知,但是有时难以定量描述,因此不利于机器判别数学特征:易于用机器判别和分析,如统计特征。原始特征是我们直接测量获得的,但是往往不用于模式原创 2021-01-12 14:31:01 · 4945 阅读 · 0 评论 -
(七)滤波与卷积
滤波与卷积一、滤波与卷积的区别图像处理中滤波和卷积原理上相似,但是在实现的细节上存在一些区别。滤波操作就是图像对应像素与掩膜(mask)的对应元素相乘相加。而卷积操作是图像对应像素与旋转180度的卷积核对应元素相乘相加。下面是一个卷积示意图二、卷积卷积操作也是卷积核与图像对应位置的乘积和。但是卷积操作在做乘积之前,需要先将卷积核翻转180度,之后再做乘积。其数学定义为:一般称g为作用在f上的filter或kernel。f是图像,g叫滤波器或卷积核三、卷积核的要求对于滤波器,也有一定原创 2021-01-12 11:40:39 · 8642 阅读 · 1 评论 -
(六)直方图均衡化
直方图均衡化一、定义及作用定义:直方图均衡化是将原图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。作用:直方图均衡化方法的基本思想是对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减。从而达到清晰图像的目的。二、理论原理1、映射函数的条件为了将原图像的亮度范围进行扩展,需要一个映射函数,将原图像的像素值均衡映射到新直 方图中,根据直方图的定义,这个映射函数有两个条件:1. 为了不打乱原有的顺序,映射后亮、暗的大小关系不能改变,2. 映射后必须在原有的原创 2021-01-03 20:50:17 · 3731 阅读 · 2 评论 -
(五)图像直方图绘制
图像直方图绘制一、定义图像直方图: 统计图像中每级像素出现的个数,以像素级为坐标,该像素级的像素个数值所画出的直方图图像直方图由于其计算代价较小,且具有图像平移、旋转、缩放不变性等众多优点,广泛地应用于图像处理的各个领域,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类。python实现import cv2import matplotlib.pyplot as pltdef histogram(img_gray): ''' 求灰度图像的直方图 :param原创 2020-12-26 00:18:07 · 2202 阅读 · 2 评论 -
(四)最邻近插值、双线性插值
最邻近插值、双线性插值、三线性插值零、图像的放大和缩小的基本原理–映射图像的放大和缩小的基本原理就是一种映射,即缩小后或者放大后的图像像素位置向原图的一个映射。简单理解就是,将放大或者缩小后的图像将其的坐标(长宽)拉伸或者压缩到和原图一样大时,其像素坐标点对应在原图上的位置就是其映射位置坐标映射图一、插值法放缩放图像算法第一步映射1. 值法算法流程----映射:(1)、插值法放大图像的第一步都是相同的,遍历新图。计算新图的坐标点像素值对应原图中哪个坐标点的像素值来填充,计算公式为:对原创 2020-12-24 21:28:48 · 6763 阅读 · 1 评论 -
(三)图像的放大和缩小
图像的放大和缩小一、知识简介在计算机图像处理和计算机图形学中,图像缩放(image scaling)是指对数字图像的大小进行调整的过程。图像缩放是一种非平凡的过程,需要在处理效率以及结果的平滑度(smoothness)和清晰度(sharpness)上做一个权衡。当一个图像的大小增加之后,组成图像的像素的可见度将会变得更高,从而使得图像表现得“软”。相反地,缩小一个图像将会增强它的平滑度和清晰度。二、图像的放大和缩小的基本原理图像的放大和缩小的基本原理就是一种映射,即缩小后或者放大后的图像向原图原创 2020-12-24 19:03:09 · 14223 阅读 · 1 评论 -
(二)灰度图像二值化
灰度图像二值化一、知识简介图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。二、灰度图像二值化原理当灰度图像的像素值大于某个阈值时将该灰度值设置为最大 反之设置为最小,此时灰度图只有最亮和最黑。1、将RGB值转化为[0,1]浮点数 或者[0,255]2、 二值化:if (img_gray[i原创 2020-12-23 23:16:18 · 8576 阅读 · 0 评论 -
(一)彩色图片(RGB)转灰度图片
彩色图片(RGB)转灰度图片一、知识简介RGB彩色图像在计算机中是使用R、G、B三个矩阵来存储红、绿、蓝三个颜色值。灰度图则是采用一个矩阵来存储灰度值(亮度,灰度值0表示亮度为0,看起来是黑色,同理灰度值1表示最亮,看起来是白色)二、彩色图片(RGB)转灰度图片原理对于彩色转灰度,有一个很著名的心理学公式:Gray = R * 0.299 + G * 0.587 + B * 0.114其中权值可以根据实际应用进行修改三、python实现要点:图片计算格式 如果是浮点型 像素点的取值原创 2020-12-23 23:06:26 · 2176 阅读 · 0 评论