拉普拉斯边缘检测
- 格式:pdf
- 大小:570.70 KB
- 文档页数:7
经典边缘检测算子比较一各种经典边缘检测算子原理简介图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。
灰度或结构等信息的突变处称为边缘。
边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。
需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。
由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地方不一定能被检测出来,而检测出的边缘也不一定代表实际边缘。
图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。
边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。
不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。
(a )图像灰度变化(b )一阶导数(c )二阶导数基于一阶导数的边缘检测算子包括Roberts 算子、Sobel 算子、Prewitt 算子等,在算法实现过程中,通过22⨯(Roberts 算子)或者33⨯模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。
拉普拉斯边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。
一种改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是LOG 算子。
前边介绍的边缘检测算子法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数的过零点。
Canny 算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。
1 Roberts (罗伯特)边缘检测算子景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。
由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法”。
设(,)f x y 是图像灰度分布函数;(,)s x y 是图像边缘的梯度值;(,)x y ϕ是梯度的方向。
拉普拉斯算子二阶导数推导原理边缘检测系拉普拉斯算子(Laplacian operator)是一种用于边缘检测的数学操作符。
它可以通过计算二阶导数来提取图像中的边缘信息。
拉普拉斯算子的推导原理和边缘检测的相关概念如下。
推导原理:假设有一个二维函数f(x, y),其二阶导数可以表示为:∂^2f(x, y)/∂x^2 + ∂^2f(x, y)/∂y^2将该表达式进行简化,可以得到拉普拉斯算子的形式:∇^2f(x, y) = ∂^2f(x, y)/∂x^2 + ∂^2f(x, y)/∂y^2其中∇^2表示拉普拉斯算子,f(x, y)为图像上每个像素点的灰度值。
通过计算图像在每个像素点上的拉普拉斯算子,可以得到图像的边缘信息。
边缘检测:边缘是图像中相邻区域灰度值的剧烈变化处,边缘检测的目的就是找到图像中的这些边缘位置。
通过计算图像上每个像素点的拉普拉斯算子,可以实现边缘检测。
常用的边缘检测算子有拉普拉斯算子、Sobel算子和Canny算子等。
拉普拉斯算子是一种快速计算边缘的算子,但容易受到噪声的干扰。
因此,在使用拉普拉斯算子进行边缘检测时,一般会先对图像进行平滑处理,以减弱噪声的影响。
拉普拉斯算子的模板为:[ 0, 1, 0 ][ 1,-4, 1 ][ 0, 1, 0 ]通过对图像的每个像素点进行卷积,可以得到图像的拉普拉斯算子。
具体步骤如下:1. 将原始图像转换为灰度图像。
2. 对灰度图像进行平滑处理,以减弱噪声的影响。
3. 在平滑后的图像上使用拉普拉斯算子进行卷积操作。
4. 根据卷积结果判断每个像素点是否为边缘,常见的方法有阈值化处理。
阈值化处理是将卷积结果大于某个设定阈值的像素点标记为边缘点,其他像素点则认为不是边缘。
不同的阈值选择会影响到边缘检测的结果,通常可以通过试验多个不同的阈值来获得最佳的结果。
边缘检测可以应用于很多计算机视觉任务中,如目标检测、图像分割、图像识别等。
尤其在图像分割中,边缘检测可以提供图像中不同区域的边界信息,为后续的分割处理提供依据。
【OpenCV】边缘检测:Sobel、拉普拉斯算子转自:/xiaowei_cqu/article/details/7829481边缘边缘(edge)是指图像局部强度变化最显著的部分。
主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。
图像强度的显著变化可分为:∙阶跃变化函数,即图像强度在不连续处的两边的像素灰度值有着显著的差异;∙线条(屋顶)变化函数,即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值。
图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈.边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘。
(a)(b)分别是阶跃函数和屋顶函数的二维图像;(c)(d)是阶跃和屋顶函数的函数图象;(e)(f)对应一阶倒数;(g)(h)是二阶倒数。
一阶导数法:梯度算子对于左图,左侧的边是正的(由暗到亮),右侧的边是负的(由亮到暗)。
对于右图,结论相反。
常数部分为零。
用来检测边是否存在。
梯度算子 Gradient operators 函数f(x,y)在(x,y)处的梯度为一个向量:计算这个向量的大小为:近似为:梯度的方向角为:Sobel算子sobel算子的表示:梯度幅值:用卷积模板来实现:【相关代码】接口[cpp]view plaincopyprint?1.CV_EXPORTS_W void Sobel( InputArray src, OutputArray dst, int ddepth,2.int dx, int dy, int ksize=3,3.double scale=1, double delta=0,4.int borderType=BORDER_DEFAULT );使用[cpp]view plaincopyprint?1./////////////////////////// Sobe l////////////////////////////////////2./// Generate grad_x and grad_y3.Mat grad_x, grad_y;4.Mat abs_grad_x, abs_grad_y;5./// Gradient X6.//Scharr( src_gray, grad_x, ddepth, 1, 0, scale, delta, BORDER_DEFAULT );7.//Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator.8.Sobel( src_gray, grad_x, ddepth, 1, 0, 3, scale, delta, BORDER_DEFAULT );9.convertScaleAbs( grad_x, abs_grad_x );10./// Gradient Y11.//Scharr( src_gray, grad_y, ddepth, 0, 1, scale, delta, BORDER_DEFAULT );12.Sobel( src_gray, grad_y, ddepth, 0, 1, 3, scale, delta, BORDER_DEFAULT );13.convertScaleAbs( grad_y, abs_grad_y );14./// Total Gradient (approximate)15.addWeighted( abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad );二阶微分法:拉普拉斯二阶微分在亮的一边是负的,在暗的一边是正的。
拉普拉斯算子二阶导数推导原理边缘检测系拉普拉斯算子是一种常用于图像处理中边缘检测的方法,它通过对图像的二阶导数运算来寻找图像中的边缘信息。
在本文中,我们将介绍拉普拉斯算子的推导原理以及它在边缘检测中的应用。
拉普拉斯算子的推导原理:设图像函数为f(x, y),拉普拉斯运算符∇^2(f)定义为:∇^2(f) = ∂^2f/∂x^2 + ∂^2f/∂y^2其中,∂^2f/∂x^2和∂^2f/∂y^2分别表示图像函数f在x和y方向上的二阶导数。
拉普拉斯算子通过在图像上进行二阶导数运算来检测图像中的变化率,从而找到边缘。
推导过程如下:首先,对图像函数f分别求取其在x和y方向上的一阶导数,得到:∂f/∂x 和∂f/∂y然后,对这两个一阶导数再次分别求取其在x和y方向上的导数,得到:∂^2f/∂x^2 和∂^2f/∂y^2最后,将这两个二阶导数相加,得到拉普拉斯算子:∇^2(f) = ∂^2f/∂x^2 + ∂^2f/∂y^2边缘检测的原理:边缘作为图像上不同区域之间亮度或颜色的突变区域,是图像处理中的一个重要特征。
通过边缘检测可以提取出图像中的边缘信息,从而对图像进行分割、识别等处理。
拉普拉斯算子在边缘检测中的应用:拉普拉斯算子可以用于检测图像中的边缘信息。
在实际应用中,我们通常将拉普拉斯算子与对图像进行一阶导数运算的Sobel算子相结合,以提高边缘检测的效果。
具体操作如下:1. 对原始图像进行灰度化处理,将彩色图像转为灰度图像。
这样可以简化后续计算,并减少噪声对边缘检测的影响。
2. 对灰度图像进行高斯滤波,以减少图像中的噪声。
高斯滤波可以通过卷积操作实现。
3. 对滤波后的图像应用拉普拉斯算子。
可以通过在图像上应用拉普拉斯卷积核来实现,例如:0 1 01 -4 10 1 04. 对应用了拉普拉斯算子的图像进行边缘提取。
可以将图像中的像素点与其周围像素点比较,如果相邻像素点的亮度差异超过设定的阈值,则将该像素点标记为边缘点。
拉普拉斯边缘检测算法边缘检测是数字图像处理中的一个基本问题,它的任务是从一幅图像中找出物体的边界。
边界的定义是物体内部的灰度变化很大的地方,比如物体与背景之间的边界或者物体内部的边界。
边缘检测可以被广泛应用于计算机视觉、机器人控制、数字信号处理等领域。
本文将介绍一种常用的边缘检测算法——拉普拉斯边缘检测算法。
拉普拉斯边缘检测算法是一种基于二阶微分的算法。
它的基本思想是在图像中寻找像素灰度值变化明显的位置,这些位置就是边缘的位置。
具体来说,该算法使用拉普拉斯算子来进行图像的二阶微分,然后通过对图像进行阈值处理来得到边缘。
在数学上,拉普拉斯算子可以表示为:∇2f(x,y) = ∂2f(x,y)/∂x2 + ∂2f(x,y)/∂y2其中,f(x,y)是图像上的像素灰度值,∂2f(x,y)/∂x2和∂2f(x,y)/∂y2分别是图像在水平和竖直方向上的二阶导数。
我们可以使用卷积运算来实现对图像的二阶微分:L(x,y) = ∑i,j(G(i,j) * f(x+i,y+j))其中,G(i,j)是拉普拉斯算子的离散化矩阵,f(x+i,y+j)是待处理图像在位置(x+i,y+j)的像素灰度值。
卷积运算的结果L(x,y)就是图像在位置(x,y)处的二阶微分。
得到图像的二阶微分之后,我们需要对其进行阈值处理。
一般来说,图像的二阶微分值越大,说明该位置的像素灰度值变化越明显,很有可能是边缘的位置。
因此,我们可以将所有二阶微分值大于一个设定的阈值的位置标记为边缘点。
然而,拉普拉斯边缘检测算法还存在一些问题。
首先,它对噪声比较敏感,因此在使用该算法时需要进行噪声抑制。
其次,拉普拉斯算子的离散化矩阵在处理图像时会引入锐化效果,这可能会导致图像中出现一些不必要的细节。
因此,在实际应用中,我们往往会使用其他算法和技术来对拉普拉斯边缘检测算法进行改进和优化。
拉普拉斯边缘检测算法是一种基于二阶微分的边缘检测算法。
它的基本思想是使用拉普拉斯算子对图像进行二阶微分,然后通过阈值处理来得到边缘。
拉普拉斯边缘检测算法步骤
拉普拉斯边缘检测算法步骤
拉普拉斯边缘检测算法步骤
一、算法原理
拉普拉斯边缘检测算法主要利用离散拉普拉斯算子对图像进行处理,从而检测出像素的边缘和轮廓,可以有效提取出图像中特征的精确位置。
拉普拉斯边缘检测的基本思想是:对于一个局部区域,如果该区域内的灰度值均匀,那么在该区域上拉普拉斯算子(Laplacian operator)的结果将接近于0;反之,如果该区域内的灰度分布不均匀,即存在边缘,则拉普拉斯算子的结果将不为0,通过比较结果的大小,可以判别该像素是否为边缘。
二、算法步骤
1.从原始图像中提取出高斯滤波处理后的二维离散拉普拉斯算子;
2.将拉普拉斯算子应用于原始图像的每个像素上,并计算出该像素的拉普拉斯算子结果;
3.根据拉普拉斯算子的结果,对原始图像上的像素进行细化:如果满足大于阈值要求的条件,则说明该像素点是边缘;
4.最后,对于被标记为边缘的像素点,用某种颜色或者灰度等表示,从而有效地提取出图像中的边缘和轮廓特征。
- 1 -。
医学图像处理实验报告实验名称:图像分割设计实验姓名:gaojunqiang学号:20105405班级:生医 1001指导教师:……2013年6月5日一、实验目的1、编程实现下列功能:读出存储的黑白灰度图象并显示,用拉普拉斯算子对图象进行边缘检测,显示处理后图象,存储处理后图象。
2、编程实现下列功能:读出存储的黑白灰度图象并显示,用鼠标点击图象上某一点,以灰度相近原则进行区域生长,显示处理后图象,存储处理后图象。
二、实验原理1、拉普拉斯边缘检测二维函数f(x,y)的拉普拉斯是一个二阶的微分定义为:∇2f = [∂2f / ∂x2 ,∂2f / ∂y2]一般情况下可以用一个拉普拉斯模板算子。
模板算子分为4邻域和8邻域,如下∇2f = 4z5 – (z2 + z4 + z6 + z8)∇2f = 8z5 – (z1 + z2 + z3 + z4+z5 + z6 + z7+ z8)2、区域增长区域增长是通过一个起始点作为种子点对他周围的点进行选择。
它采取的是一种迭代的思想。
区域增长也分为四邻域和八邻域两种方式。
通过像素的集合进行区域增长的算法如下:1)根据图像的不同应用选择一个或一组种子,它或者是最亮或最暗的点,或者是位于点簇中心的点。
2)选择一个描述符(条件)3)从该种子开始向外扩张,首先把种子像素加入集合,然后不断将与集合中各个像素连通、且满足描述符的像素加入集合4)上一过程进行到不再有满足条件的新结点加入集合为止。
三、实验代码及结果1、拉普拉斯边缘检测代码如下:%主函数如下:clc;close all;clear all;Imag = imread('lena.tiff');ImagGray = rgb2gray(Imag); %将彩色图片转换成灰度图片figure()imshow(ImagGray),title('灰度图像');% T = graythresh(ImagGray); %用大津法自动确定阈值% I=edge(ImagGray,'log',0.004);% figure(),imshow(I), title('laplace边缘图像');ImagGray = double(ImagGray);T = 60; %设置阈值LapModType = 8; %设置laplace模板方式ImagLapEdge = LaplaceEdge(ImagGray,LapModType,T); %laplace边缘检测ImagLapEdge = uint8(ImagLapEdge);figure()imshow(ImagLapEdge),title('laplace边缘图像');%拉普拉斯边缘检测函数如下:function ImagLapEdge = LaplaceEdge(ImagGray,MoldType,Thresh)%-----------------参数介绍--------------------%输入参数:% ImagGray: 输入的灰度图像% MoldType: 摸板类型,包括四邻域和八邻域% Thresh: 边缘检测阈值%输出参数:% ImagEdge:边缘像素点,存储的是二值化图像[r,c] = size(ImagGray);ImagLapEdge = zeros(r,c);%四邻域拉普拉斯边缘检测算子if 4 == MoldTypefor i = 2:r-1for j = 2:c-1Temp =-4*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1); if Temp > ThreshImagLapEdge(i,j) = 255;elseImagLapEdge(i,j) = 0;endendendend%八邻域拉普拉斯边缘检测算子if 8 == MoldTypefor i = 2:r-1for j = 2:c-1Temp =-8*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1)+ImagGray(i-1,j-1)+ImagGray(i+1,j+1)+ImagGray(i+1,j-1)+ImagGray(i-1,j+1);if Temp > ThreshImagLapEdge(i,j) = 255;elseImagLapEdge(i,j) = 0;endendendend拉普拉斯边缘检测实验结果如下:图1 原灰度图像图2 拉普拉斯8邻域模板边缘检测图像图3拉普拉斯4邻域模板边缘检测图像2、区域增长实验代码:主函数如下:clc;close all;clear all;Imag = imread('lena.jpg');figure()imshow(Imag), title('原灰度图片');n = 4; %设置区域增长的种子点数[x,y] = ginput(n); %在图像上取点V = [y,x];V = uint16(V);thresh = 33; %区域增长的阈值growingtype = 8; %增长方式[regionGet,imout,regionsize]=regiongrowing(V,Imag,thresh,growingtype); %区域增长函数figure()imshow(imout), title('区域分割后的图片');hold onplot(x,y,'+');由于区域增长代码老师已给这里就不在写出。
拉普拉斯算子边缘检测原理介绍边缘检测是数字图像处理中一个重要的步骤,用于提取图像中的轮廓和边界信息。
拉普拉斯算子边缘检测是一种经典的边缘检测方法,通过计算像素点周围像素值的二阶微分来确定边缘的位置。
本文将详细介绍拉普拉斯算子边缘检测的原理和方法。
基本原理拉普拉斯算子边缘检测基于图像中亮度的突变。
突变的位置正好对应于图像中的边缘。
算子通过计算图像中像素点的二阶导数来检测突变的位置。
拉普拉斯算子可以用以下的离散算子来表示:0 1 01 -4 10 1 0该算子是一个3x3的模板,称为拉普拉斯掩模。
通过对每个像素点进行卷积操作,将模板中的每个元素与其对应位置的像素值相乘,并将结果求和,得到该像素点的拉普拉斯值。
如果拉普拉斯值的绝对值大于一个设定的阈值,就认为该像素点位于边缘上。
算法步骤拉普拉斯算子边缘检测的主要步骤如下: 1. 将原始图像转换为灰度图像。
由于边缘检测只需要考虑亮度的变化,将彩色图像转换为灰度图像可以简化计算。
2. 对灰度图像进行高斯滤波。
由于图像中亮度的突变可能伴随着噪声,高斯滤波可以平滑图像,并降低噪声的影响。
3. 对滤波后的图像使用拉普拉斯算子进行卷积操作。
将算子的每个元素与图像中对应位置的像素值相乘,并求和,得到拉普拉斯值。
4. 根据设定的阈值,对拉普拉斯值进行二值化处理。
大于阈值的像素点被认为是边缘点,小于等于阈值的像素点被认为是背景点。
5. 对二值化后的图像进行后处理。
可以通过腐蚀、膨胀等形态学操作来进一步优化边缘的结果。
代码示例以下是使用Python的OpenCV库实现拉普拉斯算子边缘检测的代码示例:import cv2import numpy as np# 读取图像image = cv2.imread('image.jpg')# 转换为灰度图像gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 高斯滤波blurred_image = cv2.GaussianBlur(gray_image, (3, 3), 0)# 拉普拉斯算子边缘检测laplacian = placian(blurred_image, cv2.CV_64F)# 二值化处理threshold = 100binary_image = np.where(laplacian > threshold, 255, 0).astype(np.uint8)# 显示结果cv2.imshow('Original Image', image)cv2.imshow('Binary Image', binary_image)cv2.waitKey(0)cv2.destroyAllWindows()结果分析拉普拉斯算子边缘检测可以有效地提取图像中的边缘,但也存在一些问题。
拉普拉斯算子边缘检测原理拉普拉斯算子是一种常见的边缘检测算法,其原理是通过对图像进行高斯平滑滤波,然后用拉普拉斯算子对其进行二阶导数操作,得到边缘信息。
拉普拉斯算子具有简单、快速、有效等特点,被广泛应用于目标检测、图像分割、边缘增强等领域。
一、拉普拉斯算子的原理1.1 高斯滤波高斯滤波是一种常见的平滑图像的操作,它对图像进行模糊处理,使得噪声被抑制,从而更易于边缘提取。
高斯滤波可以用卷积的方式来实现,其具体过程是将一个高斯核函数应用于图像的每一个像素,得到新的像素值,从而实现滤波的效果。
高斯核函数通常是一个正态分布函数,如下所示:G(x,y)=\frac{1}{2\pi\sigma^2}exp[-\frac{x^2+y^2}{2\sigma^2}]其中 \sigma^2 是高斯函数的方差,x,y 分别是高斯函数的两个自变量,exp 是自然常数 e 的指数函数。
1.2 拉普拉斯算子拉普拉斯算子是一种二阶微分算子,它可以被用来检测边缘。
拉普拉斯算子的定义如下:\Delta f=\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2}其中 f(x,y) 是图像的灰度值,\Delta f 是二阶导数值。
在图像处理中,一般用拉普拉斯算子的离散形式来进行边缘检测:\Delta f(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)其中 f(x,y) 表示像素 (x,y) 的灰度值,f(x+1,y) 表示像素 (x+1,y) 的灰度值,其他同理。
二、拉普拉斯算子的应用拉普拉斯算子可以被用来检测图像中的边缘、几何形状和纹理等特征。
在应用中,一般先对图像进行高斯滤波,以去除图像中的噪声和细节,然后再用拉普拉斯算子进行边缘检测。
2.1 图像边缘检测图像边缘检测是拉普拉斯算子最常用的应用之一。
在边缘检测中,拉普拉斯算子可以被用来检测图像中的边缘信息,从而帮助分割目标区域。
拉普拉斯边缘检测(Laplacian for Edge Detection):当图像像素的灰度值发生剧
烈变化的时候,梯度算子是个很有效的方法,但是当灰度值变化很缓慢的时候,梯度的效果并不是很好如图一所示,红色曲线表示像素灰度值的变化,绿色曲线是用梯度处理后的结果,蓝色曲线是拉普拉斯算子处理后的结果。
所以,此时考虑用拉普拉斯算子是非常有效的,拉普拉斯算子是图像在x,y方向上二阶偏导的和。
计算公式如下:
图一
如图二,左边的源图像,然后用2个不同的拉普拉斯算子进行卷积,得到下面的结果:
图二
实验结果图:
拉普拉斯边缘检测
高斯模糊(Gaussian Blur):也称高斯平滑,即对图像用高斯函数进行处理,来消除
图像的噪声,和高频成分,同时,图像的细节信息也会失去一些,所以它是一个低通滤波器。
高斯函数在一维中的方程是:
二维中的方程是:
在图像处理中,往往用一个高斯模板跟图像进行卷积,来形成高斯模糊后的图像,模板的选择有3*3,5*5,7*7,……,下图显示了大小为7*7、sigma为0.84的高斯模板:
可以看出,模板中心的数值最大,是0.22508352,随着离中心越远,数值就越来越小。
实验结果图:
高斯模糊
高斯拉普拉斯算子(Laplacian of Gaussian (LoG)):因为拉普拉斯算子在检测边缘
的同时,对噪声也很敏感,所以我们在做拉普拉斯之前,先对图像进行高斯模糊,然后再做拉普拉斯边缘检测,这个方法就是Laplacian of Gaussian (LoG)。
实验结果图:
LOG
高斯差分(Difference of Gaussian (DoG)):这是对LOG的近似,在LOG中,要对
图像做拉普拉斯检测,涉及到对图像的二阶偏导,计算量很大,所以为了减少计算量,我们提出了LOG的近似--DOG.先对源图像用sigma1的高斯模糊,形成图像1,然后在对源图像做sigma2的高斯模糊,形成图像2,最后用图像1减去图像2就形成了DOG图像。
实验结果图:
DOG
高斯金字塔:对于大小为w×i 的图像I,高斯金字塔Gj 由I的几个分辨率减小的
高斯图像Ii(i是下标,下同) 组成,其中,i={0,1,...,j} ,代表金字塔的级数。
图像Ii 的大小为(w/2i)×(h/2i)。
[2i表示2的i次方] 图像Ii 是通过对图像Ii-1(i-1是下标) 进行隔行隔列采样而得到的图,即所谓的亚采样。
实验结果图:
Gaussian Pyramid
拉普拉斯金字塔:公式如下:
拉普拉斯金字塔是在高斯金字塔的基础上获得的,Li是i层的拉普拉斯金字塔,Gi是第i层的高斯金字塔,UP(Gi+1)是对第i+1层的高斯金字塔进行向上采样,然后再对采
样后的图像用高斯5*5的模板进行卷积形成图像temp,最后用Gi减去图像temp即形成了拉普拉斯金字塔。
实验结果图:
Laplace Pyramid
图像梯度:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二
维离散函数的求导:dx(i,j)=I[ i+1, j ]-I[ i, j ], dy(i,j)=I[ i, j+1 ]-I[ i, j+1 ].
实验结果图:
图像梯度(分别延X方向、Y方向)
柱面投影:柱面投影的投影关系:
投影关系图
几何关系:
几乎关系图
图a可看做沿着y轴向下俯瞰的截面图,图b可看做沿着x轴看的截面图。
下面计算平面坐标跟柱面坐标之间的对应关系。
有图可知:
r是圆柱的半径,即摄像机的焦距。
寻找图a与图b之间的关系可知,图b中的OP1’就是图a中的OPX’, 图b中的OP1就是图a中的OPX, 再由图b中三角形OP’P1’相似于三角形OPP1, 而OP1’=OPX’=ON=r,OP1=OPX=r / cos (a), 故有:P’P1’ / PP1=y’ / y = r / OP1 , 所以:y’ = y * r * (cos (a) / r ) = y * cos(a).
该公式称为正投影公式。
实验结果图:
柱面投影(图像大小256*256,图像焦距128)。