【图像增强】拉氏滤波的图像质量提升matlab源码
发布日期:2021-05-20 10:46:13 浏览次数:21 分类:精选文章

本文共 1959 字,大约阅读时间需要 6 分钟。

图像增强原理分析

为了更好地理解图像增强的技术,我们从简单的图片分析入手。通过观察,我们发现在传统的图像增强过程中,如果处理不当,特别是在强边缘附近,往往会产生明显的纹理瑕疵,同时增强效果也可能显得不协调。我们的目标就是解决这些问题。

增强方法

对于图片中的粗壮十字星,我们可以将其视为一个独立的像素点。在增强过程中,我们主要关注每个像素点左侧的拉普拉斯变换系数。虽然此处忽略了右侧的像素,但这是因为每个局部都类似于左侧的左侧部分,通过这种方式,处理每个局部时都会分别处理右侧部分。

!></>

Sigma作为用户定义的细节区分阈值,用于确定需要处理的具体区域。中心坐标系的意义在于帮助我们理解不同区域的关注点,这部分后续会详细讲解。

!></>

关于对比度的增强,我们可以简单总结为:将原对比度从10扩展到20。具体实现方式如下:

!></>

图片的处理分为两部分:在sigma范围内外进行不同处理。前两个图展示了两种不同的方法:前者是对比度增强,后者是反色调映射。第三个图综合了对外区域的色调映射与内区域的细节增强。

!></>

MATLAB代码实现

function HighBoostFiltering    handle = figure;    set(handle, 'unit', 'pixels', 'position', [0 0 1000 600]);    movegui(handle, 'center');    img = imread('k.bmp');    [h w] = size(img);        filter_mask = {...        [0 -1 0; -1 4 -1; 0 -1 0], % 拉普拉斯高增益滤波器        [-1 -1 -1; -1 8 -1; -1 -1 -1] % 标准拉普拉斯滤波器    };        imgsharp2 = imfilter(double(img), filter_mask{1}, 'corr', 'symmetric', 'same');    imgafter2 = double(img) * A + imgsharp2;    imgafter2 = uint8(imgafter2);        subplot(2, 4, 1:2, img);    title('原图与标准拉普拉斯滤波结果');        subplot(2, 4, 3:4, imgsharp2);    title('划分类 filter result');        subplot(2, 4, 5:6, imgafter2);    title('高增益滤波后结果');        close(hwait);endfunction imgMSR = EdgeFilling(img, m, n, which)    [h w] = size(img);    switch which        case 1            fill = img;        case 2            fill = uint8(zeros(h, w));        case 3            fill = uint8(ones(h, w) * 127);        case 4            fill = uint8(ones(h, w) * 255);    end    imgMSR = EdgeFilling(img, m, n, which);end

此外,还有一个自定义的边缘填充镜像函数:

function imgafter1 = double(img) * A + imgsharp1;imgafter1 = uint8(imgafter1);

代码说明

代码中,HighBoostFiltering函数展示了如何通过MATLAB的imfilter函数实现高增益滤波。key point包括:

  • 使用拉普拉斯算子的相关卷积进行滤波
  • 通关处理,并通过镜像处理策略去除边缘干扰
  • 然后基于用户定义的A值进行亮度调整

自定义函数EdgeFilling用于图像边缘填充。支持四种填充方式,镜像复制、黑色填充、灰色填充和白色填充。

结果演示

从代码执行结果可以看到:

  • 标准拉普拉斯滤波会导致亮度不均匀增强
  • 使用拉普拉斯高增益滤波可以更好地保持细节
  • 自定义拉普拉斯滤波与标准滤波比较它们的Input image
  • 通过此方法,我们发现高增益滤波不仅提升了细节质量,还能通过调整A值实现亮度适当的提升。未来计划在这个基础上拓展更多参数来实现更灵活的图像增强效果。

    上一篇:【图像识别】RBF手写数字识别matlab源码
    下一篇:【边缘检测】基于CNN的灰度图像边缘提取matlab源码

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2025年04月11日 07时15分55秒