MATLAB常用图像增强方法(精)
- 格式:doc
- 大小:151.00 KB
- 文档页数:8
利用Matlab进行图像处理的常用方法概述:图像处理是数字信号处理的一个重要分支,也是计算机视觉领域的核心内容之一。
随着计算机技术的不断发展,利用Matlab进行图像处理的方法变得越来越重要。
本文将介绍一些常用的Matlab图像处理方法,包括图像的读取与显示、图像的预处理、图像的滤波处理、基本的图像增强方法以及图像的分割与检测等。
一、图像的读取与显示在Matlab中,可以使用imread函数直接读取图像。
通过指定图像的路径,我们可以将图像读取为一个矩阵,并且可以选择性地将其转换为灰度图像或彩色图像。
对于灰度图像,可以使用imshow函数将其显示出来,也可以使用imwrite函数将其保存为指定格式的图像文件。
对于彩色图像,可以使用imshow函数直接显示,也可以使用imwrite函数保存为指定格式的图像文件。
此外,还可以使用impixel函数获取图像中指定像素点的RGB值。
二、图像的预处理图像的预处理是指在进一步处理之前对图像进行调整和修复以消除图像中的噪声和不良的影响。
常用的图像预处理方法包括图像的平滑处理、图像增强和图像修复等。
1. 图像平滑处理:常用的图像平滑方法有均值滤波、中值滤波和高斯滤波等。
其中,均值滤波将每个像素点的值替换为其周围像素点的平均值,中值滤波将每个像素点的值替换为其周围像素点的中值,高斯滤波则通过加权平均的方式平滑图像。
2. 图像增强:图像增强是指通过一些方法提高图像的质量和信息内容。
常用的图像增强方法包括直方图均衡化、对比度拉伸和锐化等。
直方图均衡化通过调整图像的灰度分布,以提高图像的对比度和细节。
对比度拉伸是通过将图像的像素值线性拉伸到整个灰度范围内,以增强图像的对比度。
锐化则是通过增强图像的边缘和细节,使图像更加清晰。
三、图像的滤波处理图像的滤波处理是指通过对图像进行一系列滤波操作,来提取图像中的特征和信息。
常用的图像滤波方法包括模板滤波、频域滤波和小波变换等。
1. 模板滤波:模板滤波是基于局部像素邻域的滤波方法,通过定义一个滤波模板,将其与图像进行卷积操作,从而实现图像的滤波。
Matlab中的图像增强技术与应用图像增强技术是数字图像处理领域中的重要方向之一。
通过增强图像的亮度、对比度、锐度以及去除噪声、伪彩色等方法,可以使图像更加清晰、具有更好的可视化效果。
Matlab作为一种常用的图像处理工具,提供了丰富的图像增强函数和工具箱,可以帮助我们实现各种图像增强技术的应用。
本文将介绍一些常用的图像增强技术,并结合Matlab来演示它们的应用。
一、灰度变换与直方图均衡化灰度变换是最基础的图像增强技术之一,它通过调整图像中像素的灰度值来改变图像的亮度和对比度。
在Matlab中,我们可以使用imadjust函数来实现灰度变换。
imadjust函数可以根据输入的灰度范围,将图像像素的灰度值进行线性映射,从而改变图像的亮度。
直方图均衡化是一种改善图像对比度的方法,它通过对图像中像素的灰度分布进行调整,使得图像中的灰度级尽可能均匀分布。
在Matlab中,我们可以使用histeq函数来实现直方图均衡化。
该函数会自动计算图像的累积直方图,并将其映射为均匀分布的灰度级。
二、滤波器与空域增强滤波器是一种常见的图像增强工具,它可以通过删去或者增强图像中的某些频率成分,从而实现图像的去噪和锐化。
在Matlab中,我们可以使用imfilter函数来实现各种滤波操作。
常见的滤波器包括均值滤波器、中值滤波器以及高斯滤波器等。
均值滤波器可以平滑图像,减少图像中的噪声;中值滤波器可以有效抑制椒盐噪声等随机噪声;高斯滤波器可以平滑图像并增强图像的边缘。
除了滤波器,空域增强也是一种常用的图像增强技术。
通过对图像进行锐化、增强边缘等操作,可以使图像更加清晰和鲜明。
在Matlab中,我们可以使用imsharpen函数来实现图像的锐化操作。
该函数可以增强图像的高频信息,使得图像的细节更加突出。
三、变换域增强变换域增强是一种通过将图像从空域转换到频域,进行增强操作的方法。
其中最常用的变换是傅里叶变换和小波变换。
在Matlab中,我们可以使用fft2函数和dwt2函数来实现傅里叶变换和小波变换。
利用Matlab进行图像去噪和图像增强随着数字图像处理技术的不断发展和成熟,图像去噪和图像增强在各个领域都有广泛的应用。
而在数字图像处理的工具中,Matlab凭借其强大的功能和易于使用的特点,成为了许多研究者和工程师首选的软件之一。
本文将介绍如何利用Matlab进行图像去噪和图像增强的方法和技巧。
一、图像去噪图像去噪是指通过一系列算法和技术,将图像中的噪声信号去除或减弱,提高图像的质量和清晰度。
Matlab提供了多种去噪方法,其中最常用的方法之一是利用小波变换进行去噪。
1. 小波变换去噪小波变换是一种多尺度分析方法,能够对信号进行时频分析,通过将信号分解到不同的尺度上,实现对图像的去噪。
在Matlab中,可以使用"dwt"函数进行小波变换,将图像分解为低频和高频子带,然后通过对高频子带进行阈值处理,将噪声信号滤除。
最后通过逆小波变换将去噪后的图像重构出来。
这种方法能够有效抑制高频噪声,保留图像的细节信息。
2. 均值滤波去噪均值滤波是一种基于平均值的线性滤波方法,通过计算像素周围邻域内像素的平均值,替代原始像素的值来去除噪声。
在Matlab中,可以使用"imfilter"函数进行均值滤波,通过设置适当的滤波模板大小和滤波器系数,实现对图像的去噪。
二、图像增强图像增强是指通过一系列算法和技术,改善图像的质量、增强图像的细节和对比度,使图像更容易被观察和理解。
Matlab提供了多种图像增强方法,以下将介绍其中的两种常用方法。
1. 直方图均衡化直方图均衡化是一种通过对图像像素值的分布进行调整,增强图像对比度的方法。
在Matlab中,可以使用"histeq"函数进行直方图均衡化处理。
该函数能够将图像的像素值分布拉伸到整个灰度级范围内,提高图像的动态范围和对比度。
2. 锐化增强锐化增强是一种通过增强图像边缘和细节来改善图像质量的方法。
在Matlab中,可以使用"imsharpen"函数进行图像的锐化增强处理。
Matlab中的图像增强方法图像增强是数字图像处理中的一项重要技术,通过使用各种算法和方法,可以改善图像的质量、增加图像的信息量和清晰度。
在Matlab中,有许多强大而灵活的工具和函数,可以帮助我们实现图像增强的目标。
本文将介绍几种常用的Matlab图像增强方法,并探讨它们的原理和应用。
一、直方图均衡化直方图均衡化是一种常用的图像增强方法,通过调整图像的像素分布来增强图像的对比度和亮度。
在Matlab中,我们可以使用“histeq”函数来实现直方图均衡化。
该函数会根据图像的直方图信息,将像素的灰度值重新映射到一个均匀分布的直方图上。
直方图均衡化的原理是基于图像的累积分布函数(CDF)的变换。
它首先计算图像的灰度直方图,并根据直方图信息计算CDF。
然后,通过将CDF线性映射到期望的均匀分布上,将图像的像素值进行调整。
直方图均衡化的优点在于简单易实现,且效果较好。
但它也存在一些限制,比如对噪声敏感、全局亮度调整可能导致细节丢失等。
因此,在具体应用中,我们需要权衡其优缺点,并根据图像的特点选择合适的方法。
二、自适应直方图均衡化自适应直方图均衡化是对传统直方图均衡化的改进,它能够在改善对比度的同时,保持局部细节。
与全局直方图均衡化不同,自适应直方图均衡化采用局部的直方图信息来进行均衡化。
在Matlab中,我们可以使用“adapthisteq”函数来实现自适应直方图均衡化。
该函数会将图像分成小块,并在每个块上进行直方图均衡化。
通过这种方式,自适应直方图均衡化可以在增强图像对比度的同时,保留图像的细节。
自适应直方图均衡化的优点在于针对每个小块进行处理,能够更精确地调整局部对比度,避免了全局调整可能带来的细节丢失。
然而,相对于全局直方图均衡化,自适应直方图均衡化的计算量较大,因此在实时处理中可能会引起性能问题。
三、模糊与锐化图像增强不仅局限于对比度和亮度的调整,还可以改善图像的清晰度和边缘信息。
在Matlab中,我们可以使用一些滤波器来实现图像的模糊和锐化。
利用Matlab进行图像去雾与增强的技巧引言:随着数字图像处理技术的快速发展,人们对于图像的质量要求也越来越高。
然而,在拍摄或者采集图像时,由于天气、光照等各种原因,图像中常常存在雾霾现象,导致图像质量下降。
因此,图像去雾与增强成为了图像处理领域的重要研究方向。
本文将介绍利用Matlab进行图像去雾与增强的技巧。
一、图像去雾技术1. 传统去雾技术传统的图像去雾技术主要基于图像中的像素信息和颜色分布,通过调整图像的对比度、亮度以及增强局部细节来降低雾霾的影响。
其中,最常用的方法是通过估计全局大气光来进行去雾处理。
具体步骤如下:- 首先,通过计算图像中每个像素的亮度值,选择其中的亮度最大值作为全局大气光的估计值。
- 然后,根据全局大气光的估计值和经验参数,对图像进行调整,降低雾霾的影响。
- 最后,通过调整图像的对比度和亮度,增强图像的细节信息。
2. 基于深度学习的图像去雾技术近年来,随着深度学习的快速发展,基于深度学习的图像去雾技术取得了显著的进展。
与传统方法相比,基于深度学习的方法能够更准确地估计图像中的雾霾密度,并恢复出更清晰的图像。
具体步骤如下:- 首先,构建一个深度卷积神经网络模型,用于学习图像的雾霾特征。
- 然后,通过输入原始图像和雾密度的估计值,使用深度学习模型对图像进行去雾处理。
- 最后,根据去雾处理后的图像,调整图像的对比度和亮度,进一步增强图像的细节和质量。
二、图像增强技术1. 对比度增强对比度是指图像中不同区域之间的亮度差异程度。
对于低对比度的图像,可以使用以下技术来进行增强:- 线性变换:通过调整图像的灰度级分布,使得图像的对比度增加。
- 直方图均衡化:通过对图像的灰度级分布进行变换,使得图像的亮度均匀分布,增强图像的对比度。
- 自适应直方图均衡化:结合图像的局部信息,对图像的灰度级分布进行自适应调整,更好地增强图像的细节。
2. 锐化增强图像的锐化增强是通过增强图像的边缘和细节,使得图像更加清晰和鲜明。
使用Matlab进行图像增强与图像修复的方法图像增强与图像修复是数字图像处理领域中的重要研究方向之一。
随着数字摄影和图像处理技术的快速发展,越来越多的应用需要对图像进行增强和修复,以提高图像的质量和视觉效果。
在本文中,我们将探讨使用Matlab进行图像增强和图像修复的方法。
一、图像增强方法图像增强是通过对图像进行处理,改善其质量,使其更加清晰、鲜明和易于观察。
下面将介绍几种常用的图像增强方法。
1. 灰度拉伸灰度拉伸是一种简单而有效的图像增强方法,通过拉伸图像的灰度范围,使得图像中的细节更加明确可见。
具体操作是将图像的最低灰度值映射到0,最高灰度值映射到255,中间的灰度值按比例映射到相应的范围。
在Matlab中,我们可以使用imadjust函数实现灰度拉伸。
2. 直方图均衡化直方图均衡化是一种常用的图像增强方法,通过对图像的灰度分布进行调整,使得图像的对比度得到增强。
具体操作是对图像的灰度直方图进行均衡化处理,将图像的灰度级分布均匀化。
在Matlab中,我们可以使用histeq函数实现直方图均衡化。
3. 锐化锐化是一种常用的图像增强方法,通过增强图像的边缘和细节,使得图像更加清晰和立体。
具体操作是对图像进行高通滤波,突出图像中的边缘信息。
在Matlab中,我们可以使用imsharpen函数实现图像锐化。
4. 去噪去噪是一种常用的图像增强方法,通过抑制图像中的噪声,提高图像的质量。
常见的去噪方法包括中值滤波、均值滤波和小波去噪等。
在Matlab中,我们可以使用medfilt2函数实现中值滤波。
二、图像修复方法图像修复是对图像中存在的缺陷或损坏进行补全或恢复的过程,以提高图像的可视化效果。
下面将介绍几种常用的图像修复方法。
1. 图像插值图像插值是一种常用的图像修复方法,通过根据已知的像素值推测缺失的像素值,从而补全图像中的缺失部分。
常见的插值方法包括最近邻插值、双线性插值和双立方插值等。
在Matlab中,我们可以使用interp2函数实现图像插值。
Matlab技术图像增强方法图像增强是数字图像处理的一个重要任务,通过改善图像的质量和视觉效果来提高图像的可读性和理解性。
在现实生活中,我们常常会遇到一些图像质量较差、光照不均匀或者图像噪声较多的情况,这时候就需要借助一些图像增强方法来改善图像。
Matlab作为一款强大的数学软件,提供了丰富的图像处理工具箱,其中包含了多种图像增强方法。
本文将介绍几种常用的Matlab图像增强方法,并对其原理和应用进行探讨。
一、直方图均衡化直方图均衡化是一种常用的图像增强方法,通过重新分配图像的灰度级来拉伸图像的灰度范围,以增强图像的对比度和细节。
在Matlab中,我们可以使用以下代码实现图像的直方图均衡化:```matlabimg = imread('image.jpg');img_eq = histeq(img);imshowpair(img, img_eq, 'montage');```直方图均衡化的原理是将图像的累积分布函数进行线性映射,使得图像的灰度级均匀分布,从而增强对比度。
然而,直方图均衡化有时候会导致图像过亮或者过暗,因为它只考虑了灰度分布,并未考虑图像的空间信息。
二、自适应直方图均衡化为了克服直方图均衡化的不足,自适应直方图均衡化应运而生。
自适应直方图均衡化是一种局部增强方法,它将图像划分为若干小区域,并对每个区域进行直方图均衡化,以保留图像的局部对比度。
Matlab中的自适应直方图均衡化函数为`adapthisteq`,使用方法如下:```matlabimg = imread('image.jpg');img_adapteq = adapthisteq(img);imshowpair(img, img_adapteq, 'montage');```自适应直方图均衡化在增强图像对比度的同时,能够保留图像的细节,并且不会引入过多的噪声。
《数字图像处理(实验部分)》教案实验七:图像增强1.实验目的1.掌握MATLAB 的基本操作。
2.了解数字图像处理在MATLAB 中的基本处理过程。
3.学习图像增强的原理,观察算法处理结果2.实验设备2.1.PC 兼容机一台;操作系统为WindowsWindowsXP 。
2.2.数字图像处理开发环境:MATLAB 软件3.实验原理图像增强:运用5种不同的梯度增强法进行图像锐化4.实验步骤.1 打开MA TLAB 开发环境.2点击MATLAB 窗口上File 菜单,选择New-〉M —File ,在弹出的Edit 编辑器内输入如下程序:clear;close all ;[I,map]=imread('cameraman.tif' ;figure(1;subplot(2,3,1,imshow(I,map;title(' 原图' ;I=double(I;[Gx,Gy]=gradient(I; % 计算梯度, 获得的是二维偏导向量G=sqrt(Gx.*Gx+Gy.*Gy; % 注意是矩阵点乘J1=G;subplot(2,3,2,imshow(J1,map;title(' 梯度图' ; % 第一种图像增强J2=I; % 第二种图像增强K1=find(G>=7; %返回满足条件的索引号, 如果是N 行M 列的数组, 索引号顺序为从左边第一列开始, % 按列向顺序.J2(K1=G(K1;subplot(2,3,3,imshow(J2,map;title(' 超过7的梯度图' ;J3=I; % 第三种图像增强K=find(G>=7;J3(K=255;subplot(2,3,4,imshow(J3,map;title(' 梯度超过7的白亮图' ;J4=I; % 第四种图像增强K=find(G<=7;J4(K=255;subplot(2,3,5,imshow(J4,map;title(' 梯度未过7的白亮图' ;J5=I; % 第五种图像增强K=find(G<=7;J5(K=0;Q=find(G>=7;J5(Q=255;subplot(2,3,6,imshow(J5,map;title(' 梯度7为阈值分割的二值图' ;.3将该程序保存,并点击工具栏中Run 按钮,程序会自动运行,并显示出结果。
实验一图像增强与平滑一.实验目的及要求1.了解MATLAB的操作环境和基本功能。
2.掌握MATLAB中图像增强与平滑的函数的使用方法。
3.加深理解图像增强与平滑的算法原理。
二、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。
熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。
1.直方图均衡化clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows.I = imread('pout.tif'); % R eads the sample images ‘ pout.tif’, and stores it inimshow(I) % an array named I.display the imagefigure, imhist(I) % Create a histogram of the image and display it in% a new figure window.[I2,T] = histeq(I); % Histogram equalization.figure, imshow(I2) % Display the new equalized image, I2, in a new figure window.figure, imhist(I2) % Create a histogram of the equalized image I2.figure,plot((0:255)/255,T); % plot the transformation curve.imwrite (I2, 'pout2.png'); % Write the newly adjusted image I2 to a disk file named% ‘pout2.png’.imfinfo('pout2.png') % Check the contents of the newly written file均衡化的结果是使弧度范围变的变广,均衡化后的图象对比度变强。
MATLAB图像处理技术与实例展示引言图像处理是一门涉及数字图像处理和计算机视觉的重要学科,它在日常生活中的应用范围非常广泛。
MATLAB作为一种强大的数值计算和可视化工具,提供了许多图像处理的函数和工具箱,能够帮助实现各种图像处理任务。
本文将介绍一些常用的MATLAB图像处理技术,并提供相应的实例展示。
一、图像加噪与去噪图像加噪是指在原始图像上添加一些随机扰动,使原始图像的细节模糊或失真。
在实际应用中,图像往往会受到各种因素的影响,如传感器噪声、压缩噪声等。
为了恢复原始图像的质量,需要进行去噪处理。
MATLAB提供了许多图像加噪和去噪的函数和工具箱。
例如,使用imnoise函数可以在图像上添加高斯噪声、椒盐噪声等。
而使用imnlmfilt函数可以实现非局部均值去噪算法,通过对邻域像素的均值进行补偿,可以有效降低噪声。
实例展示:下面以一个简单的实例展示图像去噪的过程。
首先,我们使用imnoise函数在一张原始图像上添加高斯噪声:```MATLABI = imread('original_image.jpg');noisy_image = imnoise(I, 'gaussian', 0, 0.02);```然后,我们使用imnlmfilt函数对添加噪声的图像进行去噪处理:```MATLABdenoised_image = imnlmfilt(noisy_image);```最后,我们可以将原始图像、添加噪声的图像和去噪后的图像进行对比,以评估去噪效果。
二、图像增强图像增强是指通过一系列的处理方法,改善图像的质量和视觉效果,使图像更加清晰、鲜艳。
图像增强的方法有很多,其中包括直方图均衡化、对比度增强、锐化等。
在MATLAB中,可以使用histeq函数实现直方图均衡化,通过重新分布图像灰度级的分布,增强图像的对比度和细节。
而使用imadjust函数可以进行对比度增强,通过调整图像对比度和亮度来增强图像的视觉效果。
数字图像处理
实验报告
实验名称:常用图像增强方法
专业班级: 07级电子信息工程2班
姓名:王超
学号: 20077427
一、实验目的
1、熟悉并掌握MATLAB图像处理工具箱的使用;
2、理解并掌握常用的图像的增强技术。
二、实验步骤
1、显示图像直方图
选择一幅图像,转化为灰度图像后显示其直方图,建立M文件程序如下:a=imread('f:\chuan.jpg';
b=rgb2gray(a;
subplot(1,2,1;
imshow(b;
subplot(1,2,2;
imhist(b
结果如图:
2、直方图均衡化
建立M文件,程序如下:a=imread('f:\chuan.jpg';
b=rgb2gray(a;
subplot(1,3,1;imshow(b; subplot(1,3,2;imhist(b;
c=histeq(b,64;
[c,T]=histeq(b;
subplot(1,3,3;imhist(c
结果如图:
3、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7
建立M文件程序如下:
a=imread('f:\chuan1.jpg';
x=rgb2gray(a;
b=imnoise(x,'salt & pepper', 0.04;
subplot(2,2,1;imshow(b;
c=medfilt2(b,[3 3];
subplot(2,2,2;imshow(c;
d=medfilt2(b,[5 5];
subplot(2,2,3;imshow(d;
e=medfilt2(b,[7 7];
subplot(2,2,4;imshow(e
结果如图:1图为加噪图像,2、3、4图分别为窗口采用3*3、5*5、7*7的滤波后的图像
4、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波
建立M文件程序如下:
a=imread('f:\chuan1.jpg';
b=rgb2gray(a;
subplot(1,2,1;imshow(b;
h=[1,2,1;0,0,0;-1,-2,-1];
c=filter2(h,b;
subplot(1,2,2;imshow(c
结果如图:
5、采用三种不同算子对图像进行锐化处理建立M文件如下:
a=imread('f:\chuan1.jpg';
b=rgb2gray(a;
subplot(2,2,1;imshow(b;
h=[1,2,1;0,0,0;-1,-2,-1]; %Sobel算子
c=filter2(h,b;
subplot(2,2,2;imshow(c ;
d=double(b;
h=[0,1,0;1,-4,0;0,1,0]; %拉氏算子
e=conv2(d,h,'same';
subplot(2,2,3;imshow(e ;
h=[1,1,1;0,0,0;-1,-1,-1]; %Prewitt算子
f=filter2(h,b;
subplot(2,2,4;imshow(f
结果如图:1图为原图的灰度图像;2图为经Sobel算子锐化处理后的图像;3图为经拉氏算子锐化处理后的图像;4图为经Prewitt算子锐化处理的图像
三、实验总结
1、不同平滑滤波器的处理效果,及其优缺点
二维中值滤波器的窗口形式有多种,比如线状、方形等等。
不同形状的窗口产生不同的滤波效果,经多次实验,可以发现方形或者圆形窗口适宜于外廓线较长的物体图像,而十字形窗口对有尖顶角状的图像效果较好。
中值滤波对离散阶跃信号、斜升信号不产生影响,连续个数小于窗口长度一般的离散脉冲将被平滑,三角函数的顶部平坦化。
图像经中值滤波后,能有效的削弱椒盐噪声,而且比超限像素平均法更有效。
但是在抑制随机噪声方面,中值滤波要要比均值滤波稍差。
均值滤波把每个像素都用周围的8个像素来做均值操作。
可以平滑图像,速度快,算法简单。
但是无法去掉噪声,这能微弱的减弱它。
均值滤波是对是对信号进行局部平均, 以平均值来代表该像素点的灰度值。
矩形滤波器(Averaging Box Filter对这个二维矢量的每一个分量进行独立的平滑处理。
通过计算和转化 ,得到一幅单位矢量图。
这个 512×512的矢量图被划分成一个8×8的小区域,再在每一个小区域中,统计这个区域内的主要方向,亦即将对该区域内点方向数进行统计,最多的方向作为区域的主方向。
于是就得到了一个新的64×64的矢量图。
这个新的矢量图还可以采用一个 3×3模板进行进一步的平滑。
2、不同锐化滤波器的处理效果,及其优缺点
经拉氏算子处理后的图像各向同性、线性和位移不变,而且细线和孤立点检测效果较好。
但是边缘方向信息丢失,常常产生双像素的边缘,对噪声有加倍加强的作用。
Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用。
其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。
经典Prewitt算子认为:凡灰度新值大于或等于阈值的像素点都是边缘点。
即选择适当的阈值T,若P(i,j≥T,则(i,j为边缘点,P(i,j为边缘图像。
这种判定是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。
Sobel 算子主要用作边缘检测。
在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。
在图像的任何一点使用此算子,将会产生对应的梯度矢量。
Sobel 算子有两个,一个是检测水平边沿的;另一个是检测垂直平边沿的。
它对于象素的位置的影响做了加权,因此效果更好。
Sobel算子另一种形式是
各向同性Sobel(Isotropic Sobel算子,也有两个,一个是检测水平边沿的,另一个是检测垂直平边沿的。
各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。
由于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel算子的处理方法。
由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效,因此应用广泛。
美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel 算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。