您的位置:首页 > 其它

第六章/图像变换 拉普拉斯变换

2010-11-16 21:56 267 查看
第六章/图像变换 拉普拉斯变换

//r

//2010,Nov 16th 2010-11-16 21:52:23

Laplace

计算图像的 Laplacian 变换

void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 );

src 输入图像. dst 输出图像. aperture_size 核大小 (与 cvSobel 中定义一样).
函数 cvLaplace 计算输入图像的 Laplacian变换,方法是先用 sobel 算子计算二阶 x- 和 y- 差分,再求和:

dst(x,y) = d2src/dx2 + d2src/dy2

对 aperture_size=1 则给出最快计算结果,相当于对图像采用如下内核做卷积:



类似于 cvSobel 函数,该函数也不作图像的尺度变换,所支持的输入、输出图像类型的组合和cvSobel一致。

OpenCV的拉普拉斯函数实现了拉普拉斯算子的离散模拟。

因为拉普拉斯算子可以用二次导数的形式定义,所以在opencv中就是用cvSobel来实现拉普拉斯函数;

#include "cv.h"

#include "highgui.h"

#include "stdio.h"

#include "stdlib.h"

int main(int argc, char ** argv)

{

IplImage * src, *dst ;

src = cvLoadImage(argv[1],0);

dst = cvCreateImage(cvGetSize(src),
IPL_DEPTH_16S,1) ;

cvNamedWindow("src",0) ;

cvShowImage("src",src);

cvNamedWindow("Laplace",0) ;
cvLaplace(src,dst,7) ;

cvShowImage("Laplace",dst);

cvWaitKey(0) ;

cvReleaseImage(&src) ;

cvReleaseImage(&dst);

return 0;

}




一直有一个疑问:我做得结果跟书上的一样吗?????

好像差了蛮多的!

如果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: