数字图像处理:傅里叶滤波与边缘检测详解

需积分: 0 4 下载量 175 浏览量 更新于2024-08-05 收藏 920KB PDF 举报
在数字图像处理作业1中,主要探讨了几个关键的图像处理技术,包括频域滤波、图像变换和直方图规定化。以下是详细的解释: 1. **频域滤波**:该部分的核心操作是基于傅里叶变换进行图像滤波。首先,通过`fftFliter.m`函数,将输入图片转换到频域,获取其频谱图。频谱图反映了图像的频率成分,其中中心区域(低频)包含大部分图像信息,边缘区域(高频)则代表细节。作业要求保留低频部分,删除高频(即高频分量置零),这样可以去除噪声,同时保持图像的主要特征。滤波后,再通过傅里叶逆变换将处理后的频谱还原回空间域,得到经过滤波的输出图像。 2. **图像放大/缩小(resize.m)**:此代码实现了图像的尺寸调整,通过计算新图像的行列变化比例,确保像素点之间的比例关系保持不变。对于非整数坐标,采用最临近插值方法来估计值,确保图像质量。 3. **图像旋转**: `rotate_gray.m` 和 `rotate_rgb.m` 分别负责灰度图像和彩色图像的旋转。对于锐角旋转,直接进行计算;大于90度时,需要通过多次旋转调整,确保旋转前后图像位置对应。旋转过程中,需要考虑坐标偏移的问题,以正确找到旋转后的像素对应点。 4. **直方图规定化**: `histogram_spec.m` 的任务是对图像进行直方图均衡化,分为两步:一是对原始图像进行直方图均衡,生成Sk;二是根据给定的直方图均衡化vk。然后通过比较找到Sk与vk的映射关系,并应用到图像上生成最终图像。 5. **Canny算子边缘检测**:Canny算子是一种常用边缘检测算法,涉及以下步骤: - **高斯滤波**:作为预处理步骤,高斯滤波用于减少图像噪声,使得边缘检测更准确,同时可能增加边缘的视觉宽度。 - **计算梯度**:利用Sobel算子或其他类似的算子,计算图像中像素点的灰度梯度值和方向,梯度值大的地方代表边缘存在。 - **非极大值抑制**:消除假边缘,只保留强度最大且周围梯度较小的像素点。 - **双阈值检测**:设置两个阈值,大于高阈值的像素被认为是边缘,小于低阈值的像素被忽略,介于两者之间的像素进一步检查,只有那些连接到边缘像素的才被保留。 - **边缘连接**:通过连续的像素连接,形成完整的边缘轮廓。 这些技术展示了数字图像处理中的基础操作,通过这些步骤,可以改变图像的外观、增强细节或者提取有用信息。理解并熟练掌握这些方法对图像分析和计算机视觉至关重要。