关闭

opencv cvLaplace()

标签: opencv图像处理
783人阅读 评论(0) 收藏 举报
分类:

/* Calculates the image Laplacian: (d2/dx + d2/dy)I */
CVAPI(void) cvLaplace( const CvArr* src, CvArr* dst,
                      int aperture_size CV_DEFAULT(3) );

拉普拉斯可以用二次导数的形式定义,可假设其离散实现类似于二阶Sobel导数

源图像src既可以是8位(无符号)图像,也可以是32位(浮点)图像

目标图像src必须是16位(有符号)或者32位(浮点)图像

apertureSize与cvSobel()函数的取值一样。1、3、5、7


//cvLaplace
void lapalce(void)
{
	IplImage *src=cvLoadImage("lena.jpg");
	IplImage *dstx_s=cvCreateImage(cvGetSize(src), IPL_DEPTH_16S, src->nChannels);
	IplImage *dsty_s=cvCreateImage(cvGetSize(src), IPL_DEPTH_16S, src->nChannels);
	IplImage *dstx_u=cvCreateImage(cvGetSize(src), IPL_DEPTH_8S, src->nChannels);
	IplImage *dsty_u=cvCreateImage(cvGetSize(src), IPL_DEPTH_8S, src->nChannels);
	if (src == NULL || dstx_s == NULL || dsty_s == NULL || dstx_u == NULL || dsty_u == NULL)
		exit(0);

	cvLaplace(src, dstx_s, 3);
	cvLaplace(src, dsty_s, 7);

	cvConvertScale(dstx_s, dstx_u, 1.0, 0);
	cvConvertScale(dsty_s, dsty_u, 1.0, 0);

	cvNamedWindow("src");
	cvNamedWindow("dst3");
	cvNamedWindow("dst7");
	cvShowImage("src", src);
	cvShowImage("dst3", dstx_u);
	cvShowImage("dst7", dsty_u);
	cvWaitKey(0);
	cvReleaseImage(&src);
	cvReleaseImage(&dstx_s);
	cvReleaseImage(&dsty_s);
	cvReleaseImage(&dstx_u);
	cvReleaseImage(&dsty_u);
	cvDestroyAllWindows();
}



0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

opencv之拉普拉斯边缘锐化

opencv之拉普拉斯边缘锐化 void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 ); //计算图像的laplace...
  • xlh145
  • xlh145
  • 2013-04-28 16:56
  • 1360

opencv拉普拉斯边缘锐化cvLaplace算法的运用

Laplacian 算子是n维欧几里得空间中的一个二阶微分算子,定义为梯度grad()的散度div()。因此如果f是二阶可微的实函数对于阶跃状边缘,魂不附体导数在边缘点出现零交叉,即边缘点两旁二阶导数...
  • gdut2015go
  • gdut2015go
  • 2015-06-06 16:57
  • 3228

opencv中imread第二个参数的含义

文档中是这么写的: Flags specifying the color type of a loaded image: CV_LOAD_IMAGE_ANYDEPTH - If set, retu...
  • z914022466
  • z914022466
  • 2016-09-30 11:05
  • 4625

opencv学习笔记(二十二)拉普拉斯算子cvLaplace()

边缘检测对噪声比较敏感,需要先用高斯滤波器对图像进行平滑。 拉普拉斯对噪声敏感,会产生双边效果。不能检测出边的方向。通常不直接用于边的检测,只起辅助的角色,检测一个像素是在边的亮的一边还是暗的一边利...
  • u014751607
  • u014751607
  • 2017-01-12 17:50
  • 463

有关cvLaplace函数和cvSobel函数的参数及显示处理后的图片问题

openCV中 有关cvLaplace函数和cvSobel函数的参数及显示处理后的图片问题。 cvLaplace函数可以将IPL_DEPTH_8U的图像转换成IPL_DEPTH_16S,IPL_DE...
  • qiongguishanglu
  • qiongguishanglu
  • 2012-10-29 19:30
  • 1227

Laplace算子及cvLaplace

Sobel算子的基础,Laplace算子就显得十分简单了。Sobel算子一般用来求一阶导数,而有些图像求一阶导数之后边缘也不一定十分清析,需要求其二阶导数,在计算机中,一般运算都用迭代法实现。同样,近...
  • shandianling
  • shandianling
  • 2011-04-27 11:46
  • 1366

第六章 - 图像变换 -拉普拉斯变换(cvLaplace)

拉普拉斯变换也可以用作边缘检测,用二次导数的形式定义。 拉普拉斯变换(Laplace Transform),是工程数学中常用的一种积分变换。 关于拉普拉斯和傅里叶变换的对比及意义参考这里 ---...
  • hitwengqi
  • hitwengqi
  • 2011-10-16 13:58
  • 11663

图像变换 -拉普拉斯变换(cvLaplace)

拉普拉斯变换(Laplace Transform),是工程数学中常用的一种积分变换。 拉普拉斯变换也可以用作边缘检测,用二次导数的形式定义。函数 cvLaplace 计算输入图像的 Laplacia...
  • jackinzhou
  • jackinzhou
  • 2012-08-23 20:35
  • 1012

opencv3.2编译所需文件

  • 5天前 21:09
  • 1.78MB
  • 下载

opencv3.4编译需要的ffmpeg、ippicv

  • 5天前 11:50
  • 40.45MB
  • 下载
    个人资料
    • 访问:773655次
    • 积分:9785
    • 等级:
    • 排名:第2087名
    • 原创:311篇
    • 转载:40篇
    • 译文:10篇
    • 评论:87条
    博客专栏
    文章分类
    最新评论