OpenCV-Python教程(7、Laplacian算子)
来源:互联网 发布:免费背英语单词软件 编辑:程序博客网 时间:2024/05/26 14:10
本篇文章介绍如何用OpenCV-Python来使用Laplacian算子。
提示:
- 转载请详细注明原作者及出处,谢谢!
- 本文介绍使用在OpenCV-Python中使用Laplacian函数
- 本文不介详细的理论知识,读者可从其他资料中获取相应的背景知识。笔者推荐清华大学出版社的《图像处理与计算机视觉算法及应用(第2版) 》。
Laplacian算子
图像中的边缘区域,像素值会发生“跳跃”,对这些像素求导,在其一阶导数在边缘位置为极值,这就是Sobel算子使用的原理——极值处就是边缘。如下图(下图来自OpenCV官方文档):
如果对像素值求二阶导数,会发现边缘处的导数值为0。如下(下图来自OpenCV官方文档):
Laplace函数实现的方法是先用Sobel 算子计算二阶x和y导数,再求和:(CSDN,你打水印,让我的公式怎么办?)
函数原型
在OpenCV-Python中,Laplace算子的函数原型如下:
- dst = cv2.Laplacian(src, ddepth[, dst[, ksize[, scale[, delta[, borderType]]]]])
前两个是必须的参数:
- 第一个参数是需要处理的图像;
- 第二个参数是图像的深度,-1表示采用的是与原图像相同的深度。目标图像的深度必须大于等于原图像的深度;
其后是可选的参数:
- dst不用解释了;
- ksize是算子的大小,必须为1、3、5、7。默认为1。
- scale是缩放导数的比例常数,默认情况下没有伸缩系数;
- delta是一个可选的增量,将会加到最终的dst中,同样,默认情况下没有额外的值加到dst中;
- borderType是判断图像边界的模式。这个参数默认值为cv2.BORDER_DEFAULT。
使用
这里还是以Sobel一文中的石狮作为测试图像,下面是测试代码:
- #coding=utf-8
- import cv2
- import numpy as np
- img = cv2.imread("D:/lion.jpg", 0)
- gray_lap = cv2.Laplacian(img,cv2.CV_16S,ksize = 3)
- dst = cv2.convertScaleAbs(gray_lap)
- cv2.imshow('laplacian',dst)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
有点像粉笔画,是吧。这是因为原图像未经过去噪就直接处理了。可以通过滤波一文中,使用低通滤波一节中高斯模糊来先处理一下再用拉普拉斯函数。
参考资料:
1、《Opencv2 Computer Vision Application Programming Cookbook》
2、《OpenCV References Manule》
0 0
- OpenCV-Python教程(7、Laplacian算子)
- OpenCV-Python教程(7、Laplacian算子)
- OpenCV-Python教程(6)(7)(8): Sobel算子 Laplacian算子 Canny边缘检测
- Python OpenCV -- Laplacian 算子(十)
- opencv Laplacian算子
- Opencv Laplacian算子
- OpenCV-Python教程(6、Sobel算子)
- OpenCV-Python教程(6、Sobel算子)
- OpenCV-Python教程(6、Sobel算子)
- OpenCV函数 Laplacian 算子实现
- Laplacian算子的使用Opencv
- vim+python+OpenCV学习七 : Sobel算子、Laplacian算子和Canny边缘检测
- Laplacian算子
- 边缘检测(5)Laplacian边缘算子
- Python OpenCV -- Sobel 算子(九)
- laplacian算子的运用
- laplacian算子的推导
- Laplacian算子图像提升
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
- websphere如何产生javacore和heapdump
- 使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
- NSString基本属性和方法
- LayoutInflater.inflate方法解析
- OpenCV-Python教程(7、Laplacian算子)
- XML基础+Java解析XML +几种解析方式的性能比较
- 集合框架的好处
- 创建进程,输出重定向
- Bootstrap 标签页制作
- android 关闭所有Activity
- websphere服务器cpu使用率较高原因定位分析
- 程序员最常去的网站
- 三种方式使得iOS应用能够在后台进行数据更新和下载