![](https://img-blog.csdnimg.cn/c2de0f1ea8014e15bba4ce9d9f7fbbf7.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MATLAB+Python数字图像处理教程
文章平均质量分 94
本教程将介绍如何同时使用MATLAB和Python实现数字图像处理程序。通过本教程,您将学习到如何使用MATLAB和Python处理数字图像的基本操作,包括图像读取、显示、变换、滤波、分割等等。同时,您将学习到如何使用MATLAB和Python的图像处理工具箱,以及如何编写自己的数字图像处理程序。
快乐江湖
专注人工智能领域和优质计算机学习笔记创作
展开
-
【专栏必读】数字图像处理(MATLAB+Python)专栏目录导航及学习说明
本专栏笔记参考蔡丽梅老师的《 数字图像处理-使用MATLAB分析与实现》,严格按照其内容与章节学习和记录。文章内容不仅仅局限于课本,还加入了本人在图像处理方面的学习和工作经验,同时为了方便Python使用者,也提供了对应的Python代码(采用OpenCV)。试读文章如下原创 2023-09-07 14:38:22 · 619 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第一章:绪论
举个例子,1024×768的真彩色24位图像,存储每一个像素点需3个字节,总的大小为1024×768×3Byte≈2.3MB;:应用十分广泛,很有成效,CT、核磁共振断层成像、超声成像、计算机辅助手术、显微医学操作等。利用计算机对图像进行去除或衰减噪声、增强、复原、分割、提取特征等的理论、方法和技术。:根据从图像中提取出的数据,利用模式识别的方法和理论,理解图像内容。,因而会出现不同形状的三维物体投影在图像平面上产生相同图像的问题。,例如下图,B的尺寸比A的尺寸大,但两个球投影到平面后大小相似。原创 2023-03-20 21:09:37 · 708 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第二章数字图像处理基础-第一节:人眼视觉系统
如下图,中心的小正方形亮度一致,但背景暗时看起来要亮些,背景亮时看起来要暗些。原创 2023-03-22 15:49:45 · 633 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第二章数字图像处理基础-第二节:色度学基础与颜色模型
定量度量如何进行颜色的测量和定量描述。原创 2023-03-25 18:38:31 · 865 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第二章数字图像处理基础-第三、四节:数字图像的生成和数值描述
充分考虑到人眼的识别能力。非特殊用途的图像均为8bit量化,索引图像实际上不是一种图像类型,而是图像的一种。(视觉暂留时间), 产生连续活动视觉效果。如果要求更高精度,可以增大量化分层,一般的量化值为整数,量化层数取为。在3bit以下的量化,会出现。数字图像的生成与表示。原创 2023-03-25 19:49:20 · 2160 阅读 · 1 评论 -
(数字图像处理MATLAB+Python)第三章图像基本运算-第一节:图像几何变换
图像插值运算:利用已知邻近像素点的灰度值来产生未知像素点的灰度值。包括最近邻插值非整数像素灰度值就等于距离最近的像素的灰度值双线性插值利用非整数像素点周围的四个像素点的相关性,通过双线性算法计算得出的双三次插值利用非整数像素点周围的16个像素点进行计算原理:变换公式如下x′xΔxy′yΔyx′xΔxy′yΔy矩阵表示如下x′y′110Δx01Δy001xy110 & 0 & 1x \\y \\1x′。原创 2023-03-30 09:12:15 · 1753 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第三章图像基本运算-第二节:图像代数运算
加法运算:指将两幅同大小的图像进行像素级别的加法操作,得到一幅新的图像。设两幅图像对应的像素值分别为f1xyf_{1}(x,y)f1xy和f2xyf_{2}(x,y)f2xy,则它们的加法运算可表示为gxyf1xyf2xygxyf1xyf2xy进行图像加法运算时,处理和值的方式主要有以下几种截断处理。原创 2023-04-02 11:59:01 · 3425 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第三章图像基本运算-第三节:邻域及模板运算和综合案例
这将产生一个新的模板中心像素值,然后用来替换输出图像中的原始像素值。在模板运算过程中,模板在图像上移动,在每个位置,原创 2023-04-05 11:05:42 · 1177 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第四章图像正交变换-第一节:离散傅里叶变换
一维离散傅里叶变换(Discrete Fourier Transform,DFT):是一种数学技术,用于将代表离散时间信号的N个复数序列从时域转换到频域。DFT被广泛用于许多应用,如音频和图像处理、通信和控制系统。DFT是傅里叶变换的离散版本,傅里叶变换是一种用于分析频域信号的连续数学技术。DFT将信号表示为不同频率的复数正弦波之和,每个正弦波都有相关的幅度和相位。这些正弦波的频率是均匀的,由信号的采样率和长度决定。其定义式如下,该方程通过对时域中所有样本的贡献进行加总,计算出频率分量uuu。原创 2023-04-07 21:11:42 · 2417 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第四章图像正交变换-第二、三节:离散余弦变换和K-L变换
一维DCT变换定义:一维DCT是一种数学变换,它为一个给定的输入序列计算一组频率系数,使用不同频率的余弦函数的加权和。由此产生的频率系数可用于分析和压缩输入序列,以及其他应用。定义式如下fxf(x)fx代表输入信号或序列,它由**NNN样本或数值**组成DCT用于将这个输入序列转换为一组NNN的频率系数FuF(u)Fu,其中uuu是频率系数的索引求和里面的余弦函数是DCT的主要部分。它的参数由索引uuu和样本索引xxx组成,其参数由2x1uπ2N2N2。原创 2023-04-10 13:04:01 · 1784 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第四章图像正交变换-第四、五节:Radon变换和小波变换
小波:小波变换中的“小波”指的是一种基本的函数,可以用于将信号分解成不同的频率组件。这些小波函数具有紧凑的支撑和可变的频率和时间分辨率,使得它们可以在时域和频域之间转换,并能够更好地捕捉信号中的局部特征。数学上,小波是一种能够满足一定条件的局部有限能量函数,通常被定义为具有均值为零的波形函数和尺度函数的线性组合。通过将信号与不同尺度和位置的小波函数进行内积运算,可以得到信号在不同频率上的分解系数,进而实现小波变换。设函数ψt\psi(t)ψt满足∫Rψtdt0∫Rψtd。原创 2023-04-14 10:10:38 · 6541 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第五章图像增强-第一节:图像增强概述和基于灰度级变换的图像增强
图像增强(Image Enhancement):指不考虑图像降质原因,利用各种数学方法和变换手段,增强图像中人们感兴趣部分或提高有用的图像特征的清晰度。从图像质量来看,图像增强提高了图像的可懂度,改善了图像的视觉效果例如在现实场景中,针对那些对比度较差、视觉效果不好的图像,我们就可以利用图像增强改善视觉质量图像增强可分为如下几种基于灰度级变换的图像增强基于直方图修正的图像增强基于照度反射模型的图像增强基于模糊技术的图像增强基于伪彩色处理的图像增强其他图像增强方法分段线性灰度级变换。原创 2023-04-16 10:21:17 · 2708 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第五章图像增强-第二节:基于直方图修正的图像增强
灰度直方图:表示的是数字图像中每一灰度级与其出现频数(即该灰度上出现像素的数目)间的统计关系。具体来说,它将灰度级的像素值与其在图像中出现的频次(或概率)作为纵轴和横轴上的坐标,形成一个直方图prknkNprkNnk例如下图这张图像,可以得到其灰度直方图数字图像的直方图均衡化:一幅离散数字图像,共LLL个灰度等级,其中第kkk个灰度级rkr_{k}rk出现的像素个数为nkn_{k}nk,图像总像素个数为NNN。则第kkk个灰度级出现的概率为P。原创 2023-04-18 21:13:49 · 1266 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第五章图像增强-第三节:基于照度反射模型的图像增强
背景:若物体受到照度明暗不匀的时候,图像上对应照度暗的部分,其细节就较难辨别主要目的:消除不均匀照度的影响,增强图像细节基于同态滤波的增强:是一种可以有效提高图像质量的方法,其主要思想是将图像转换到频域进行处理,通过调整图像在频域中的幅度和相位信息来实现增强。具体来说,基于同态滤波的图像增强可以通过以下公式表示gxyHuvFuvgxyHuvFuv其中,gxyg(x,y)gxy表示增强后的图像,FuvF(u,v)Fuv。原创 2023-04-19 14:39:30 · 1468 阅读 · 1 评论 -
(数字图像处理MATLAB+Python)第五章图像增强-第四、五节:基于模糊技术和基于伪彩色处理的图像增强
假设我们想在地图上显示不同地区的温度,我们可以把地图上的温度数据叠加为灰度图像,此时较暗的区域代表温度比较低、较亮的区域温度比较高。这样的表示其实有一定缺陷,第一个原因人类视觉系统对灰度强度的变化不灵敏,能够区分的灰度级一般只有二十几个,而对不同亮度和色调的彩色图像的分辨力能力却可以达到灰度分辨能力的数百倍以上;第二个原因是因为我们可以用不同的颜色代表不同的意义,比如用蓝色代表温度较低、红色代表温度较高因此彩色增强处理图像的主要目的是为了改善图像的视觉效果和识别能力。原创 2023-04-20 09:32:56 · 1417 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第五章图像增强-第六节:其他图像增强技术
基于对数图像处理模型的图像增强。基于暗原色先验的低照度图像增强。是常量,不失一般性的假设。基于对数图像处理模型的增强。的红、绿、蓝三个通道的值。基于暗原色先验的去雾方法。原创 2023-04-21 11:04:56 · 951 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第六章图像平滑-第一节:图像平滑概述和空间域平滑滤波
图像平滑(Image Smoothing)噪声不规则性空域法频域法。原创 2023-04-23 21:01:15 · 4656 阅读 · 3 评论 -
(数字图像处理MATLAB+Python)第六章图像平滑-第二节:频域平滑滤波
理想低通滤波:是一种在频域中将高频信号滤除,保留低频信号的滤波器。其数学表达式为Huv1Duv≤D00DuvD0Huv10Duv≤D0DuvD0其中,HuvH(u, vHuv)表示频域滤波器在uv(u,v)uv处的值,Duvu2v2Duvu2v2表示频域中点uv(u,v)uv到中心点的距离,D0D_{0}D0。原创 2023-04-24 09:38:38 · 2073 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第七章图像锐化-第一、二节:图像锐化概述和微分算子
梯度算子:是一类用于图像边缘检测和特征提取的算法,它们基于图像灰度值的变化来计算图像中各个位置的梯度信息,用于找到图像中明显的边缘或特征。对于函数图像fxyf(x,y)fxy,它在xy(x,y)xy处的梯度为Gfxy∂f∂x∂f∂yTGfxy)]∂x∂f∂y∂fT用梯度的幅度来代替,则为Gfxy∂f∂x2∂f∂y212或Gfxy∣∂f∂x∣∣∂f∂y∣。原创 2023-04-25 21:44:31 · 4162 阅读 · 5 评论 -
(数字图像处理MATLAB+Python)第七章图像锐化-第三节:高斯滤波与边缘检测
高斯函数:是一种常见的连续函数,通常用符号GxG(x)Gx表示。它可以用下面的公式定义Gx1σ2πe−x22σ2Gxσ2π1e−2σ2x2其中,xxx是自变量,σ\sigmaσ是一个正实数,表示高斯函数的标准差。高斯函数是一个偶函数,即G−xGxG−xGx高斯函数的曲线呈钟形,且在x0x=0x0处取得峰值。标准差σ\sigmaσ越小,高斯函数的峰值越高,曲线越陡峭;标准差σ\sigmaσ。原创 2023-05-05 16:53:51 · 1763 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第七章图像锐化-第四节:频域高通滤波与综合案例
尽可能地使皮肤变得平滑、白皙。采用所学基础处理方法实现题目要求。:将双边滤波后的图像提取肤色区域,原图提取背景区域,两图融合。:p采用拉普拉斯算子锐化,锐化力度降为1/3。原创 2023-05-11 15:30:23 · 3940 阅读 · 1 评论 -
(数字图像处理MATLAB+Python)第八章图像复原-第一、二节:图像复原概述和图像退化模型
图像复原:在图像生成、记录、传输过程中,由于成像系统、设备或外在的干扰,会导致图像质量下降,称为图像退化,如大气扰动效应、光学系统的像差、物体运动造成的模糊、几何失真等。图像复原是指通过使用图像处理技术来恢复受损图像的原始信息,使其尽可能接近或恢复到原始图像的状态。图像复原的目标是消除或减轻图像中的噪声、模糊、失真或其他损坏,并尽量还原图像的细节和清晰度。图像复原的过程通常涉及以下几个步骤损坏分析:首先,需要对受损的图像进行分析,了解图像损坏的类型和原因。常见的图像损坏包括噪声、模糊、运动模糊、伪影等。原创 2023-05-12 15:53:42 · 3464 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第八章图像复原-第三、四节:图像复原代数方法和典型图像复原方法
逆滤波复原:是图像复原中一种常用的方法,旨在通过对图像进行频域上的逆滤波操作,恢复原始图像。假设我们有一个受损的图像表示为矩阵YYY,大小为m×nm×nm×n,其中的元素表示像素灰度值。我们希望通过逆滤波复原算法来估计一个恢复的图像矩阵XXX,大小也为m×nm×nm×n。逆滤波复原的基本原理是假设图像受损是由于在频域上的卷积模糊操作所引起的。我们将这个模糊操作的效应表示为一个称为模糊核或点扩散函数(Point Spread Function,PSF)的矩阵,记作HHH。原创 2023-05-16 14:58:25 · 3283 阅读 · 6 评论 -
(数字图像处理MATLAB+Python)第八章图像复原-第五、六节:盲去卷积复原和几何失真校正
盲去卷积复原:当我们考虑图像复原中的盲去卷积复原时,我们可以使用以下数学符号和方程来描述该问题原始图像:我们用I表示原始图像,其中I是一个二维离散函数。IxyI(x, y)Ixy表示在坐标xy(x, y)xy处的图像强度值模糊核:我们用HHH表示未知的模糊核或点扩散函数,它是导致图像模糊的原因。HuvH(u, v)Huv表示在频域中的模糊核值,其中uv(u, v)uv是频域的坐标模糊图像:我们用BBB表示经过模糊处理后的图像,也称为模糊图像。Bxy。原创 2023-05-18 11:07:13 · 1791 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第九章图像形态学运算-第一、二节:形态学基础和二值形态学运算
膨胀运算:是形态学运算中的一种基本操作,用于扩展图像中的明亮区域或增加目标的大小。膨胀运算可以通过结构元素与图像进行卷积操作来实现。集合XXX用结构元素SSS来膨胀记为X⊕SX⊕SX⊕Sx∣Sx∩X≠∅X⊕Sx∣Sx∩X∅其含义为:对结构元素SSS作关于原点的映射,所得映射平移为xxx,形成新的集合为SxSx,与集合XXX相交不为空集时结构元素SSS的参考点的集合即为XXX被SSS膨胀所得到的集合膨胀运算的过程如下。原创 2023-05-20 11:12:21 · 1847 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第九章图像形态学运算-第三节:二值图像的形态学处理
形态滤波:是一种在数字图像处理中常用的图像处理技术,用于改善图像的质量、提取图像的特定特征或去除图像中的噪声。形态滤波主要基于形态学运算,通过结构元素(也称为模板)对图像进行局部区域的操作,从而改变图像的形状和结构。选择不同形状(如各向同性的圆、十字架、矩形、不同朝向的有向线段等)、不同尺寸的结构元素可以提取图像的不同特征图像的平缓处理:是数字图像处理中的一项重要任务,它有助于减少图像中的噪声和细节,并使图像更加平滑和连续。通过结合开运算和闭运算,可以实现图像的更加全面的平滑处理。原创 2023-05-29 21:03:29 · 2855 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第十章图像分割-第一、二节:阈值分割和边界分割
图像分割:在对图像的研究和应用中,人们往往仅对图像中的某些目标感兴趣,这些目标通常对应图像中具有特定性质的区域。图像分割是指把一幅图像分成不同的具有特定性质区域的图像处理技术,将这些区域分离提取出来,以便进一步提取特征和理解图像分割方法多种多样,常用的技术包括:基于阈值:根据像素的灰度值或者颜色信息,将图像分成不同的区域。这种方法简单直观,适用于一些简单的场景,但对于复杂图像可能效果不佳基于边缘检测:通过检测图像中的边缘信息,将图像分割成不同的区域。原创 2023-07-16 22:07:18 · 1551 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第十章图像分割-第三,四节:区域分割和基于聚类的图像分割
从一个整体的区域开始,逐步将该区域分割成更小的子区域,直到满足某些预定的分割条件。通过合并相邻的像素或区域来生成更大的、具有相似特征的图像区域。将具有相似特征的像素逐步合并成更大的区域。同一个区域内的像素点具有某种相似性。如何把像素表示成特征空间中的点。结合了区域分割和区域合并。原创 2023-08-21 10:20:36 · 1704 阅读 · 1 评论 -
(数字图像处理MATLAB+Python)第十章图像分割-第四,五节:分水岭分割和综合案例
通过检测边缘来进行分割:canny边缘检测、边缘滤波、边界修复和区域定位四个步骤。:将答题卡分割成不同区域。采用所学基础处理方法实现题目要求。原创 2023-08-30 15:04:39 · 1721 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第十一章图像描述与分析-第一节、二节:图像描述概述和特征点
图像描述:将分割后区域的区域、边界的属性和相互关系用更为简单明确的文字、数值、符号或图来描述或说明。保留原图像或图像区域重要信息,减少数据量。它旨在通过自然语言来准确地描述图像中出现的对象、场景和其他相关信息。图像描述一般由计算机视觉和自然语言处理领域共同完成。图像描述的主要目标是使计算机能够理解和表达对图像的理解,将视觉信息转化为可读性强的文本描述。这项技术对于提高图像的可搜索性和可索引性非常有用,也可以帮助视觉障碍者理解图像内容图像描述技术的应用非常广泛。原创 2023-08-30 21:43:36 · 1032 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第十一章图像描述与分析-第三、四节:几何表述和形状描述
对象的实际面积和最小外接矩形(Bounding Rectangle)的面积来计算的。通过迭代运算,在对象的边界上逐渐向内部收缩,直到达到中轴线所在位置。用于提取对象或区域的中轴线特征。实体或区域与圆形接近程度。实体或物体形状接近球体的。内切圆与外接圆半径比。原创 2023-09-01 16:09:08 · 1112 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第十一章图像描述与分析-第五、六节:边界描述和矩描述
边界链码:是一种用于图像处理和计算机视觉领域的技术,主要用于描述二进制图像中物体的轮廓。边界链码通过将轮廓转化为一系列有序的连续像素点来表示。边界链码的基本思想是从图像中选择一个起始点,然后按照一定的顺序遍历相邻像素,将它们连接起来形成一个闭合的轮廓。这些相邻像素的连接方式可以根据具体的算法不同而有所差异,常见的有4邻域链码和8邻域链码如下图,以左下角0点为起始点,设其坐标为(0,3),4方向和8方向链码表示区域边界,则4方向链码8方向链码边界链码特点如下。原创 2023-09-02 17:03:10 · 1410 阅读 · 2 评论 -
(数字图像处理MATLAB+Python)第十一章图像描述与分析-第七、八节:纹理描述和其他描述
联合概率矩阵法:是一种用于数据分析和模式识别的统计方法。它主要用于分析多个变量之间的联合概率分布,并通过构建联合概率矩阵来描述这些变量之间的关系。该方法基于联合概率分布的思想,将多维数据转化为一个二维矩阵,矩阵中的每个元素表示对应变量的联合概率值。通过观察和分析这个矩阵,可以揭示不同变量之间的相关性、依赖性和模式等信息。具体步骤如下收集样本数据:首先需要收集包含多个变量的样本数据集,例如观测数据或实验数据构建联合概率矩阵:根据样本数据,计算得到各个变量之间的联合概率矩阵。原创 2023-09-03 22:22:48 · 1158 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第十二章图像编码-第一、二节:图像编码基本理论和无损编码
此部分内容不在详细介绍,请移步(王道408考研数据结构)第五章树-第四节3:哈夫曼树基本概念、构造和哈夫曼编码算数编码:是一种无失真的数据压缩技术,用于将源数据序列转换为更紧凑的编码序列。与传统的固定长度编码方法(如霍夫曼编码)不同,算术编码使用一个区间来表示整个源数据序列,而不是将每个符号映射到固定长度的编码字。算术编码的基本思想是利用符号出现的概率分布来为每个符号分配一个对应的区间,并根据输入的符号序列逐步缩小区间范围。最终,所生成的区间内的任意一个数值都可以表示原始数据序列的唯一编码。基本步骤如下。原创 2023-09-04 22:31:43 · 1187 阅读 · 0 评论 -
(数字图像处理MATLAB+Python)第十二章图像编码-第三、四节:有损编码和JPEG
预测编码:是一种数据压缩技术,旨在通过利用数据中的统计规律来减少存储或传输所需的比特数。它基于预测模型,根据已经观察到的数据来预测未来的数据,并将预测误差编码和传输。预测编码的过程通常包括以下几个步骤模型训练:首先,根据已有的数据,建立一个预测模型。这可以是简单的算术模型,也可以是更复杂的统计模型,如线性回归、自回归模型等。预测:使用训练好的模型来预测下一个数据点的值。预测结果与实际观测值之间的差异称为预测误差。编码:将预测误差转换成二进制序列。原创 2023-09-07 13:35:52 · 1269 阅读 · 2 评论