深度学习面试题专栏13-传统图像处理
01 图像预处理有哪些方法?
02 高斯滤波器原理介绍?
03 图像增强有哪些方法?
04 图像的特征提取有哪些算法
05 膨胀和腐蚀含义?
06 开运算和闭运算先后顺序?
07 Canny如何极大值抑制?
08 直方图是什么?
09 直方图的均衡化
10 图像处理基本算法
01 图像预处理有哪些方法?
灰度化 (Grayscale Conversion):将彩色图像转化为灰度图像,使得图像仅有亮度信息,无颜色信息。这样可以降低数据的复杂性。
直方图均衡化 (Histogram Equalization):增强图像对比度的方法,通过扩展图像的亮度直方图来实现。
滤波 (Filtering):用于去除噪声、强化或检测图像中的边缘、特征等。
低通滤波器 (Low-pass filters):如平均滤波、高斯滤波,可以去除高频噪声并平滑图像。
高通滤波器 (High-pass filters):如Laplacian、Sobel滤波,用于强化或检测图像中的边缘。
阈值化 (Thresholding):将图像转化为二值图像,通常用于分割前景和背景。
去噪 (Noise Reduction):除了滤波外,还有其他方法如中值滤波、非局部均值去噪等。
图像增强 (Image Enhancement):增强图像的特定特征,如亮度、对比度和饱和度。
尺度变换 (Rescaling):改变图像的尺寸,如放大或缩小。
旋转 (Rotation):将图像旋转到特定的角度。
几何校正 (Geometric Corrections):纠正图像的几何变形,如透视变换。
归一化 (Normalization):调整图像的亮度和对比度,使其在一个特定的范围内,例如[0,1]或[0,255]。
骨架化 (Skeletonization):提取图像中对象的骨架。
形态学操作 (Morphological Operations):如腐蚀、膨胀、开操作和闭操作,用于处理和分析图像中的结构。
色彩空间转换 (Color Space Conversion):例如从RGB到HSV或从RGB到YCbCr。
02 高斯滤波器原理介绍?
高斯滤波器是一种常用于图像处理的线性滤波器,用于平滑图像并减少噪声。它的核心思想是对图像的每一个像素进行加权平均,其中权重是根据高斯函数计算的,且中心像素具有最高的权重。
原理:
高斯函数: 高斯滤波器基于二维高斯函数。一维高斯函数表示为:

扩展到二维,其函数形式为:

其中,σσ 是标准差,决定了函数的宽度或“扩散”程度。
高斯滤波器是一种常用于图像处理的线性滤波器,用于平滑图像并减少噪声。它的核心思想是对图像的每一个像素进行加权平均,其中权重是根据高斯函数计算的,且中心像素具有最高的权重。
原理:
高斯函数: 高斯滤波器基于二维高斯函数。一维高斯函数表示为:
G(x)=12πσe−x22σ2G(x)=2π
σ1e−2σ2x2
扩展到二维,其函数形式为:
G(x,y)=12πσ2e−x2+y22σ2G(x,y)=2πσ21e−2σ2x2+y2
其中,σσ 是标准差,决定了函数的宽度或“扩散”程度。
滤波过程:
首先,根据所需的滤波器大小(如3x3, 5x5, 7x7等)和σσ值,计算高斯核(也称为高斯模板或窗口)的每个权重。
然后,将这个高斯核与图像进行卷积:对于图像中的每个像素,取其邻域(与高斯核大小相匹配)的像素,乘以对应的高斯权重,然后对这些乘积值进行求和,得到新的像素值。
权重的特点:
中心权重最大,随着距离的增加而逐渐减小。
σσ 的大小决定了权重减小的速率,即高斯函数的“宽度”。较大的σσ 会导致更广泛的模糊,而较小的σσ 则只会轻微地模糊图像。
优点:
由于高斯滤波是加权平均,且权重是连续变化的,所以它能够有效地模糊图像,同时保持边缘的连续性,不会产生“锯齿”或其他不自然的伪影。
缺点:
如果目标是保持边缘的锐利性,而只去除噪声,那么高斯滤波可能不是最佳选择,因为它会模糊边缘。对于这种需求,可以考虑其他如双边滤波器的方法。
03 图像增强有哪些方法?
直方图均衡化 (Histogram Equalization):通过扩展像素的强度范围来增强图像的对比度。
对比度拉伸 (Contrast Stretching):将图像的最小和最大像素值映射到全强度范围,例如0到255。
对数和幂律变换 (Log and Power-Law Transformations):对图像像素应用对数或幂律函数,通常用于扩展暗部或高光的细节。
高频强化 (High-frequency Emphasis):通过增强图像中的高频分量来锐化图像,常见的方法有拉普拉斯锐化。
自适应直方图均衡化 (Adaptive Histogram Equalization):对图像的局部区域应用直方图均衡化,以增强局部的对比度。
双边滤波 (Bilateral Filtering):同时利用空间和强度相似性进行滤波,能够增强细节并保持边缘。
单一尺度退化 (Unsharp Masking):从原始图像中减去其模糊版本,从而增强细节。
波形处理 (Wavelet-based Enhancement):使用小波变换来分离图像的不同尺度细节,然后分别增强。
彩色图像增强:
彩度拉伸 (Saturation Stretching):增加颜色的饱和度。
白平衡 (White Balancing):纠正由于光源色温偏差导致的颜色偏差。
伪彩色增强 (Pseudocoloring):用于单通道数据,如热成像,通过将一个通道的值映射到RGB颜色来增强可视化效果。
04 图像的特征提取有哪些算法
基于角点的方法:
Harris 角点检测器: 基于图像局部变化情况,寻找角点特征。
FAST (Features from Accelerated Segment Test) 角点检测:快速寻找角点特征。
基于边缘的方法:
Sobel, Prewitt, Canny 等边缘检测算法: 提取图像中的边缘信息。
基于区域的方法:
MSER (Maximally Stable Extremal Regions):提取稳定的极值区域作为特征。
基于关键点/兴趣点的方法:
SIFT (Scale-Invariant Feature Transform):检测并描述图像的局部特征,具有尺度、旋转和亮度不变性。
SURF (Speeded-Up Robust Features):与SIFT相似,但计算更快。
ORB (Oriented FAST and Rotated BRIEF):结合了FAST关键点检测和BRIEF描述符,具有速度优势。
BRISK (Binary Robust Invariant Scalable Keypoints):提供快速的关键点检测和描述。
基于纹理的方法:
LBP (Local Binary Pattern):描述图像局部纹理信息。
Gabor Filters:对图像的局部纹理进行响应分析。
HOG (Histogram of Oriented Gradients):统计图像局部的梯度方向分布,经常用于行人检测。
05 膨胀和腐蚀含义?
膨胀(Dilation)和腐蚀(Erosion)是形态学图像处理中的基本操作,通常用于二值图像(即像素值只有0和1的图像),但也可以扩展到灰度图像。这些操作通常使用一个结构元素(或称为内核)来与图像进行局部运算。
腐蚀 (Erosion):
定义: 腐蚀操作用于减小图像中白色区域(通常值为1)的大小。
操作: 一个结构元素与二值图像进行局部运算。如果结构元素与图像的一个局部区域完全“匹配”(即结构元素覆盖的所有位置都是1),则输出图像在该位置为1,否则为0。
效果: 会缩小白色区域、消除小的噪声和断开狭窄的连接。
膨胀 (Dilation):
定义: 膨胀操作用于增大图像中白色区域的大小。
操作: 一个结构元素与二值图像进行局部运算。如果结构元素与图像的一个局部区域的任何位置“匹配”(即结构元素覆盖的任何位置都是1),则输出图像在该位置为1,否则为0。
效果: 会扩大白色区域、填充小的孔洞、连接近邻的物体。
06 开运算和闭运算先后顺序?
开运算(Opening)和闭运算(Closing)是形态学图像处理中的两个基本操作,它们是基于腐蚀(Erosion)和膨胀(Dilation)的组合。这两种操作的先后顺序取决于要解决的问题和预期的效果。
开运算 (Opening)
定义:先进行腐蚀操作,然后进行膨胀操作。
效果:可以消除小的物体、断开狭窄的连接和平滑边界,而不显著改变较大物体的面积。
闭运算 (Closing)
定义:先进行膨胀操作,然后进行腐蚀操作。
效果:用于填充物体内部的小孔、连接邻近的物体和平滑边界。
关于开运算和闭运算的先后顺序:
如果需要先消除噪声和断开物体,然后填充小孔和连接物体,那么应先进行开运算,然后进行闭运算。
如果需要先填充小孔和连接物体,然后消除噪声和断开物体,那么应先进行闭运算,然后进行开运算。
07 Canny如何极大值抑制?
Canny边缘检测算法中的极大值抑制是一个关键步骤,用于从边缘检测的结果中提取出真正的边缘点,抑制非极大值点。这个过程可以通过以下步骤来实现:
计算梯度幅度和方向:
首先,对输入图像进行高斯平滑,以减少噪声的影响。
然后,使用Sobel、Prewitt等算子计算图像的梯度值,包括梯度幅度(即梯度的大小)和梯度方向(即梯度的角度)。
寻找局部极大值点:
对于每个像素点,检查其梯度方向。
在梯度方向上,比较当前像素点的梯度幅度与相邻两个像素点沿梯度方向的梯度幅度。通常,使用插值来获取两个相邻像素点沿梯度方向的梯度幅度值。
如果当前像素点的梯度幅度是局部最大的(大于其相邻两个像素点沿梯度方向的梯度幅度),则将其保留作为边缘点,否则将其抑制。
阈值化:
可以应用双阈值法来进一步筛选边缘点。这个过程会将梯度幅度分为两个阈值:高阈值和低阈值。
如果某个边缘点的梯度幅度高于高阈值,则将其标记为强边缘。
如果某个边缘点的梯度幅度介于高阈值和低阈值之间,则将其标记为弱边缘。
如果某个边缘点的梯度幅度低于低阈值,则将其丢弃。
连接边缘:
最后,可以使用边缘连接算法来连接强边缘和与之相邻的弱边缘,以形成完整的边缘。
08 直方图是什么?
在传统图像处理中,直方图是一种重要的工具,用于分析和处理图像。图像的直方图是一个表示图像像素强度分布的统计图,可以帮助我们理解图像的亮度、对比度和颜色信息。以下是一些直方图在传统图像处理中的常见应用:
亮度调整:
直方图可以用于分析图像的亮度分布情况。通过查看直方图,可以确定图像中亮度的分布范围和主要亮度值。
基于直方图的分析,可以进行亮度调整,例如直方图均衡化,以增强图像的对比度,使图像更具视觉吸引力。
图像增强:
直方图可以用于图像增强,例如对比度增强。通过拉伸或压缩直方图的特定部分,可以增强或减小图像的对比度,以改善图像的可视化效果。
图像分割:
直方图可以用于图像分割,特别是在阈值分割中。通过分析图像的灰度直方图,可以选择一个适当的灰度阈值来将图像分成不同的区域或对象。
颜色处理:
对于彩色图像,可以分别分析红、绿和蓝(RGB)通道的直方图,以了解每个通道的颜色分布情况。
通过直方图匹配或颜色平衡技术,可以调整图像的颜色分布,改变图像的色调或饱和度。
噪声检测:
直方图可以帮助检测图像中的噪声。异常或不寻常的峰值或波动可能表明图像存在噪声。
对象识别和特征提取:
在对象识别和图像特征提取中,直方图可以用于描述图像中不同对象的颜色或纹理特征。
09 直方图的均衡化
直方图均衡化是一种常用的图像处理技术,用于增强图像的对比度和亮度分布,使图像看起来更清晰和更容易分析。它通过重新分布图像的灰度级别,使得每个灰度级别的像素数目尽可能均匀分布,从而实现对比度的增强。
直方图均衡化可以有效地增强图像的局部对比度,并将灰度级别更均匀地分布在整个范围内,因此通常用于图像增强、计算机视觉和图像处理任务中。但要注意,均衡化可能会导致图像的噪声放大,因此在某些情况下,需要进一步处理以减少噪声的影响。
10 图像处理基本算法
图像处理领域涵盖了多种基本算法和技术,用于处理和分析图像。以下是一些常见的图像处理基本算法:
灰度化(Grayscale Conversion):
将彩色图像转换为灰度图像,通常采用加权平均法,将红、绿和蓝通道的像素值加权组合为一个灰度值。
直方图均衡化(Histogram Equalization):
如前面所述,通过重新分布图像的灰度级别来增强图像的对比度。
滤波(Filtering):
使用滤波器来平滑或增强图像,例如,中值滤波、高斯滤波、均值滤波等,用于降噪、平滑和锐化。
边缘检测(Edge Detection):
用于检测图像中的边缘和轮廓,常用算法包括Sobel、Prewitt、Canny等。
图像二值化(Image Binarization):
将灰度图像转换为二值图像,通常通过设定阈值来将像素分为前景(物体)和背景两类。
形态学操作(Morphological Operations):
用于处理二值图像,包括腐蚀、膨胀、开操作和闭操作,以改变图像中对象的形状和大小。
图像金字塔(Image Pyramids):
通过多次降采样或上采样来构建图像金字塔,用于图像缩放、尺度空间分析和特征提取。
霍夫变换(Hough Transform):
用于检测图像中的直线、圆或其他几何形状,常用于图像中的目标检测和特征提取。
特征检测与描述(Feature Detection and Description):
包括角点检测(如Harris角点检测)、SIFT(尺度不变特征变换)、SURF(加速稳健特征)等用于检测和描述图像中的特征点。
颜色空间变换(Color Space Transformation):
将图像从一种颜色空间转换为另一种,如RGB到HSV、RGB到Lab等,以进行颜色分析和调整。
图像融合(Image Fusion):
将多个图像融合成一个,以获得更多信息或增强特定特征。
基于模板的匹配(Template Matching):
使用模板图像在目标图像中寻找匹配的区域,用于目标检测和识别。