Laplacian函数

Laplacian函数:

函数功能:

对图像求二阶导数,一般用于边缘突出

Laplacian 算子 的定义:

Laplace(f) = \dfrac{\partial^{2} f}{\partial x^{2}} + \dfrac{\partial^{2} f}{\partial y^{2}}

函数调用形式:

void Laplacian(InputArray src, OutputArray dst, int ddepth, int ksize=1, double scale=1, double delta=0, int borderType=BORDER_DEFAULT )


函数参数详解:

InputArray src:输入图像

OutputArray dst:输出图像

int ddepth:表示输出图像的深度

depth 图像元素的位深度,可以是下面的其中之一:

                     位深度                                                            取值范围

      IPL_DEPTH_8U - 无符号8位整型                                     0--255

     IPL_DEPTH_8S - 有符号8位整型                                  -128--127

     IPL_DEPTH_16U - 无符号16位整型                                   0--65535

     IPL_DEPTH_16S - 有符号16位整型                           -32768--32767

     IPL_DEPTH_32S - 有符号32位整型                                    0--65535

     IPL_DEPTH_32F - 单精度浮点数                                     0.0--1.0

     IPL_DEPTH_64F - 双精度浮点数                                      0.0--1.0


int ksize=1:表示拉普拉斯核的大小,1表示核的大小是三:

When ksize == 1 , the Laplacian is computed by filtering the image with the following aperture:

double  scale =1:表示是否对图像进行放大或者缩小

double delta=0:表示是否在输出的像素中加上一个量

int borderType=BORDER_DEFAULT:表示处理边界的方式,一般默认



opencv代码:

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include 
#include 

using namespace cv;

/** @函数 main */
int main( int argc, char** argv )
{
  Mat src, src_gray, dst;
  int kernel_size = 3;
  int scale = 1;
  int delta = 0;
  int ddepth = CV_16S;
  char* window_name = "Laplace Demo";

  int c;

  /// 装载图像
  src = imread( argv[1] );

  if( !src.data )
    { return -1; }

  /// 使用高斯滤波消除噪声
  GaussianBlur( src, src, Size(3,3), 0, 0, BORDER_DEFAULT );

  /// 转换为灰度图
  cvtColor( src, src_gray, CV_RGB2GRAY );

  /// 创建显示窗口
  namedWindow( window_name, CV_WINDOW_AUTOSIZE );

  /// 使用Laplace函数
  Mat abs_dst;

  Laplacian( src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT );
  convertScaleAbs( dst, abs_dst );

  /// 显示结果
  imshow( window_name, abs_dst );

  waitKey(0);

  return 0;
  }


你可能感兴趣的:(图像的滤波方式)