- 博客(27)
- 收藏
- 关注
原创 开运算和闭运算
本文介绍了OpenCV中的形态学操作开运算和闭运算在图像去噪与修复中的应用。开运算(先腐蚀后膨胀)可有效消除白色噪声点,闭运算(先膨胀后腐蚀)则能填补黑色空洞。文章详细讲解了两种运算的原理、OpenCV实现方法及参数选择技巧,包括卷积核大小、形状和迭代次数的影响。这些形态学操作是图像预处理的重要手段,能显著改善图像质量,为后续的轮廓检测等任务提供良好基础。
2025-08-31 10:34:04
632
原创 OpenCV 腐蚀操作(Erosion)
腐蚀 + 膨胀 → 开运算(去小白点噪声)、闭运算(连接断裂物体)使用不同大小卷积核(3×3、5×5、7×7)观察腐蚀效果。只要邻域内有黑色像素 → 中心像素变黑 → 白色区域缩小。:取卷积核覆盖区域最小值 → 白色缩小、黑色扩展。尝试不同形状卷积核(矩形、椭圆、十字)对比效果。腐蚀 → 缩小前景(白色),扩展背景(黑色)卷积核大小、形状、迭代次数 → 决定腐蚀强度。:腐蚀次数(次数越多,白色区域越小)核越小 → 白色区域缩小幅度小。白色区域被缩小,黑色区域扩展。核越大 → 白色区域缩小越多。
2025-08-31 10:30:38
263
原创 OpenCV 膨胀操作(Dilation)
白色像素(255)出现 → 中心像素也变为白色 → 白色区域膨胀。膨胀 + 腐蚀(开运算、闭运算) → 去噪和连通区域处理。使用不同大小核(3×3、5×5、7×7)观察膨胀效果。尝试不同形状的卷积核(矩形、椭圆、十字)对比效果。:通常是二值图像中白色部分(像素值 255)数学本质 → 每个像素取卷积核覆盖区域最大值。:取卷积核覆盖区域的最大值 → 白色扩张。核大小、形状、迭代次数 → 决定膨胀强度。:膨胀次数(次数越多,白色区域越大)核越大 → 白色区域膨胀越多。膨胀 → 扩大前景(白色)
2025-08-31 10:27:14
274
原创 OpenCV 图像金字塔(Image Pyramid)
下采样前使用高斯滤波,防止别名效应(噪声和纹理失真)。构建 3~4 层下采样金字塔,观察图像尺寸和细节变化。尝试不同图像,用金字塔做多尺度观察(如人脸或文字)。注意:上采样不会恢复原图像素细节,只是插值填充。图像金字塔可以多层叠加,每层尺寸相差一半或两倍。先用高斯滤波去噪,再取每隔一个像素作为新像素。将下采样后的图像再上采样,比较与原图的差异。上采样只是插值填充,无法完全恢复原图细节。:下采样 + 高斯滤波 → 尺寸减半。:上采样 + 插值 → 尺寸加倍。图像金字塔是多尺度处理的基础方法。
2025-08-31 10:24:50
403
原创 OpenCV 边缘增强(Edge Enhancement)
边缘增强 = 高通滤波 → 增强高频信息核设计决定增强强度和效果注意噪声和光晕问题可结合去噪和 Unsharp Mask 使用,效果最佳。
2025-08-31 10:10:30
239
原创 OpenCV 中值滤波(Median Filtering)1. 基础概念
原理:用卷积核覆盖图像区域,将该区域内所有像素值按大小排序,取。对比均值、高斯、中值滤波在同一张带椒盐噪声的图上的效果。中心像素(255)被替换成 35,去除了极端值的影响。在一张干净的图片上添加椒盐噪声,然后用中值滤波去除。:输入图像(必须是单通道或三通道 8 位图像)。对边缘保护较好(相比均值滤波不容易模糊边缘)。对椒盐噪声有很好的抑制效果。作为中心像素的新值。:卷积核大小(必须是。,如 3、5、7)。
2025-08-31 10:06:35
165
原创 OpenCV 高斯滤波(Gaussian Blur)
的平滑滤波方法,用于去除图像噪声、平滑图像,同时保留更多边缘信息。:Y 方向标准差(默认为 0,即与 sigmaX 相同)高斯滤波适合去高斯噪声,能更好地保留边缘。:卷积核大小(宽、高都必须为奇数,如。不同,高斯滤波给卷积核中。,OpenCV 会根据。σ 越大,模糊效果越强。:边界处理方式(默认。,边缘像素权重更低。,观察模糊程度变化。
2025-08-31 09:57:19
370
原创 OpenCV 均值滤波(Mean Filtering)
原理:用卷积核(kernel)覆盖图像的一个区域,将该区域所有像素的平均值作为中心像素的新值。均值滤波会模糊边缘,适合去除随机噪声,不适合保留细节。作用:减少图像中的随机噪声,让图像看起来更平滑。表示卷积核大小,数值越大,模糊效果越强。对噪声有一定抑制作用,但会导致图像模糊。是一种最简单的图像平滑(去噪)方法。核越大,模糊效果越强,但细节损失越多。,则执行的是求和滤波(不做平均)。:表示输出图像的深度与输入相同。:表示结果取平均值(均值滤波)。的核进行均值滤波,对比效果。核大小必须是正整数。
2025-08-31 09:55:16
370
原创 OpenCV 图像亮度与对比度调整
在数字图像中,每个像素的值表示亮度(灰度图)或颜色强度(彩色图)。:整体的明暗程度。调亮会让所有像素变亮,调暗会让所有像素变暗。:图像中亮的部分与暗的部分差别的大小。对比度高,明暗差距大;对比度低,图像灰蒙蒙。:对比度系数 (>1 增强对比度,0~1 降低对比度):亮度偏移量 (>0 变亮,<0 变暗)
2025-08-31 09:53:42
533
原创 通道分离与合并
在计算机视觉中,可能只处理某一个颜色通道(例如检测红色物体时只用 R 通道)。的 NumPy 数组,最后一个维度存储 B、G、R 三个通道的像素值。:需要将其他两个通道置 0,然后合并成彩色图像,才能看到真实颜色的效果。说明图片高 480 像素,宽 640 像素,有 3 个颜色通道。交换通道顺序(如 R 和 B 对调),观察图像颜色变化。:合并前要确保三个通道的尺寸完全一致,否则会报错。将蓝色通道置 0,重新合并,看看颜色变化。:对某个通道进行增强、滤波,再合并回去。:交换通道顺序、去掉某个通道等。
2025-08-31 09:51:50
307
原创 第十三题:图像旋转与仿射变换
与透视变换不同,仿射变换不会改变图像的平行性,即平行的直线在仿射变换后仍然是平行的。仿射变换可以用于图像的透视矫正、倾斜校正等应用,可以尝试对图像进行不同的变换,探索更多可能的效果。图像旋转是将图像围绕一个点(通常是图像的中心)进行旋转。你可以尝试改变旋转角度和仿射变换的源点和目标点,观察图像变化的效果。运行代码后,你应该会看到两个窗口:旋转后的图像和仿射变换后的图像。使用旋转矩阵来旋转图像,并展示旋转后的图像。展示旋转后的图像和仿射变换后的图像。:应用旋转矩阵,将图像旋转指定的角度。其中,θ是旋转角度。
2025-08-30 21:41:22
334
原创 第十二题:图像的直方图和直方图均衡化
直方图是图像的一个重要特征,它表示了图像中像素值的分布。直方图均衡化是一种常用的图像增强技术,旨在改善图像的对比度。在灰度图像中,直方图的横轴表示像素的灰度值(0到255),纵轴表示该灰度值出现的频率。直方图均衡化通过调整图像的像素分布,使得像素值分布更加均匀,从而提高图像的对比度。直方图均衡化可以显著改善低对比度图像的质量,尤其是对于细节不明显的图像。你将看到显示直方图的图形,原始图像和均衡化后图像的直方图会有明显不同。:对灰度图像进行直方图均衡化,提升图像的对比度。进行图像的直方图均衡化。
2025-08-30 21:40:20
210
原创 第十一题:图像平滑(滤波)
图像平滑(也称为滤波)是图像处理中的常见操作,用于去除图像中的噪声或细节,通常用于图像预处理、降噪等任务。均值滤波是通过在图像上滑动一个窗口(核),用窗口内所有像素的平均值来替代窗口中心的像素。高斯滤波使用高斯核来加权像素,能够有效去除高频噪声,保留图像细节。它对图像进行平滑处理时,比均值滤波和中值滤波保留更多的边缘信息。你可以调整滤波核的大小来改变平滑效果,较大的核会产生更强的平滑效果,但也可能丢失更多细节。运行代码后,你应该会看到显示原始图像以及三种滤波后的图像:均值滤波、中值滤波和高斯滤波。
2025-08-30 21:39:30
179
原创 第十题:直线检测(霍夫变换)
霍夫变换(Hough Transform)是一种用于检测图像中直线的技术,广泛应用于图像分析和计算机视觉中。霍夫变换的核心思想是:每一个直线可以由多个点表示,而这些点在参数空间中会对应到一个交点。通过找出参数空间中的交点,就可以检测出图像中的直线。霍夫变换对于噪声非常敏感,如果图像中有很多噪声,可能会导致检测到错误的直线。首先使用Canny边缘检测来获得边缘图像,然后使用霍夫变换来提取图像中的直线。:概率霍夫变换,适用于检测图像中的短直线段。:进行霍夫变换,检测图像中的直线。文件,它包含了检测到的直线。
2025-08-30 21:37:44
117
原创 第九题:轮廓检测
轮廓检测是图像分析中的一种技术,旨在提取图像中物体的边界或轮廓。通过轮廓,我们可以获取图像中的物体形状、大小和位置等信息,广泛应用于物体识别、图像分割等任务。:将灰度图像转换为二值图像,阈值127将像素值大于127的部分设为255(白色),小于127的部分设为0(黑色)。:通常需要先将图像转换为二值图像,通常通过阈值化(如Otsu算法)或边缘检测(如Canny)得到。轮廓是图像中像素值变化较大的地方,通常对应物体的边缘。:在图像上绘制所有轮廓,绿色轮廓,线宽为3。展示检测到的轮廓,并保存图像。
2025-08-30 21:37:04
153
原创 第八题:边缘检测(Canny算法)
边缘检测是图像处理中非常重要的一步,用于提取图像中具有显著变化的部分,通常这些部分对应着物体的轮廓。Canny边缘检测算法是最常用的边缘检测算法之一,能够有效地检测到图像的边缘。Canny算法对于图像的预处理非常敏感,尤其是噪声和图像的细节,因此使用时通常需要对图像进行适当的预处理(例如去噪)。较低的阈值可能会检测到更多的噪声,较高的阈值可能会导致一些弱边缘被忽略。:确定边缘的强度,使用两个阈值来区分边缘和非边缘。:计算图像的梯度,确定边缘的方向和强度。:在边缘检测过程中,抑制不明显的边缘。
2025-08-30 21:35:23
289
原创 第七题:图像颜色空间转换
图像的颜色空间是指图像中颜色的表示方式。例如,在进行物体检测或颜色跟踪时,HSV颜色空间通常比RGB更加直观。它对人眼的感知更为直观,适合用于图像的颜色分割和特征提取。转换为HSV后,你会看到色调、饱和度和亮度三个通道,图像中的颜色表现得更加直观。通过设置转换标志,可以将图像从一个颜色空间转换到另一个颜色空间。运行代码后,你应该会看到三张图像窗口:原图像、灰度图像和HSV图像。这是颜色空间转换中的一个常用操作,HSV颜色空间常用于颜色分割。:将BGR图像转换为HSV颜色空间,常用于颜色分析和分割。
2025-08-30 21:34:42
147
原创 第六题:图像旋转
图像旋转是图像处理中的常见操作,通常用于图像对齐、数据增强等应用中。要旋转图像,首先需要计算一个旋转矩阵。旋转矩阵是基于图像的中心点和旋转角度来计算的。在旋转过程中,图像的角落可能会被裁剪掉。:应用旋转矩阵,将图像旋转并调整图像大小以适应旋转后的内容。:根据图像中心、旋转角度和缩放因子生成旋转矩阵。函数将旋转矩阵应用到图像上,得到旋转后的图像。:旋转角度,单位是度,正值表示顺时针旋转。运行代码后,你应该会看到旋转后的图像窗口。:旋转中心点,通常是图像的中心。展示旋转后的图像,并保存。:旋转后图像的尺寸。
2025-08-30 21:33:48
301
原创 第五题:图像裁剪
图像裁剪是指从图像中提取出一个感兴趣的区域(ROI,Region of Interest),这是图像处理中的常见任务。在裁剪图像时,确保你指定的坐标是合理的,避免裁剪出图像之外的区域(如果坐标超出了图像的范围,程序可能会报错或没有显示结果)。:这是一个裁剪操作,表示裁剪图像从第50行到第200行(纵坐标),从第100列到第300列(横坐标)之间的区域。你可以尝试不同的裁剪区域,例如通过改变裁剪区域的坐标来提取图像中的不同部分。图像裁剪实际上是通过指定矩形区域的左上角和右下角坐标来提取图像的一部分。
2025-08-30 21:33:10
400
原创 第四题:图像大小调整
图像大小调整是图像处理中常见的操作,OpenCV提供了简单易用的接口来进行图像缩放。你可以通过不同的缩放方式改变图像的尺寸。调整图像大小时,你可能会遇到图像质量损失的问题,特别是在放大图像时。选择合适的插值方法(如。运行代码后,你应该会看到两张调整大小后的图像,一张是缩小后的,另一张是放大后的。:使用三次插值来放大图像,这种方法通常会带来更平滑的效果,适合用于放大图像。:插值方法,用于处理图像缩放时像素的插值。:调整图像的尺寸,将图像的宽度和高度设置为指定值。:三次样条插值(适用于放大图像,效果较好)。
2025-08-30 21:31:58
281
原创 第三题:访问与修改像素值
在图像处理中,图像本质上是由像素构成的。每个像素有其对应的颜色值(通常是RGB值),在OpenCV中,图像是一个多维的NumPy数组,你可以通过数组索引来访问和修改像素值。每个元素代表一个像素,具体的颜色值取决于图像的色彩空间(如RGB或BGR)。对于彩色图像,通常每个像素有三个通道:红色(R)、绿色(G)、蓝色(B)。例如,将图像中心的像素改为红色。打开修改后的图像文件,确认图像中心的像素已经成功修改为红色。你可以选择一张图像的任意位置,访问其像素值并打印。你可以通过修改像素的数组值来改变图像的内容。
2025-08-30 21:31:18
273
原创 第二题:保存图像
图像的保存是图像处理中的另一个基本操作。在OpenCV中,保存图像也非常简单。现在我们将在之前的代码基础上进行修改,让它不仅显示图像,还能够将图像保存到本地。确保你有写权限到指定的目录,如果保存失败,检查是否有权限访问文件夹。其余的代码和之前一样,加载并显示图像,等待键盘输入后关闭窗口。这个函数会将图像对象写入到指定的文件路径中。重新加载保存后的图像,验证图像是否正确保存。函数将处理后的图像保存到指定的文件路径。第二个参数:要保存的图像对象。会将图像保存为PNG格式,:将加载的图像保存为。
2025-08-30 21:30:23
137
原创 第一题:加载与显示图像
在计算机视觉中,加载和显示图像是最基础的操作,也是后续处理的基础。OpenCV提供了非常简便的函数来读取和显示图像。如果你遇到图像加载错误(例如“Error: Image not found”),请确保图像文件的路径是正确的。这个函数会返回一个图像对象,如果文件路径正确且图像存在,就可以加载图像。路径必须准确,如果图像文件不在指定路径下,OpenCV将无法加载图像。运行脚本,检查图像是否成功显示。如果图像未显示,确保文件路径正确。该函数会创建一个窗口来显示图像。:加载带有透明通道(如PNG图像)的图像。
2025-08-30 21:29:45
217
原创 机器视觉入门
使用ORB或SIFT进行特征匹配,并通过匹配的特征点进行图像配准。使用车牌检测算法(如Haar特征分类器)进行车牌识别。使用SIFT或ORB对两个图像进行特征点匹配并对齐。构建一个简单的卷积神经网络(CNN)进行图像分类。使用深度学习模型(如U-Net)进行语义图像分割。获取图像某个像素的RGB值,并修改该像素的值。调整图像的对比度和亮度,使图像更清晰或更暗。定义并应用自定义的卷积滤波器对图像进行处理。使用GAN进行图像生成(例如人脸图像生成)。使用支持向量机(SVM)进行图像分类。
2025-08-30 21:27:44
314
《电磁场与电磁波习题及详细题解》
2025-08-30
安徽大学2021-2022学年第一学期《概率论与数理统计A》课程的期末考试试卷(A卷)
2025-08-30
哈尔滨工业大学(深圳)2018年秋季学期《复变函数与积分变换》课程的期末考试试题及答案解析
2025-08-30
哈尔滨工业大学(深圳)2019年秋季学期《复变函数与积分变换》期末考试试题及答案
2025-08-30
哈尔滨工业大学(深圳)2020年秋季学期《复变函数与积分变换》期末考试试题及答案
2025-08-30
哈尔滨工业大学(深圳)2021年秋季学期《复变函数与积分变换》课程的期末试题及答案
2025-08-30
哈尔滨工业大学(深圳)2023年秋季学期《复变函数与积分变换》期末考试试题及答案
2025-08-30
数学复变函数与积分变换期末试题:西安交通大学2019年考试题解析与答案详解
2025-08-30
数学复变函数与积分变换期末试题:西安交通大学2018年考试题解析与标准答案
2025-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人