Opencvノート17 Imgproc_Lapacian

7018 ワード

#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;
  }

void 
Laplacian
(const  Mat&
 src,  Mat&
 dst, int
 ddepth, int
 ksize=1, double
 scale=1, double
 delta=0, int
 borderType=BORDER_DEFAULT
) ¶
Calculates the Laplacian of an image
Parameters:     
src – Source image
dst – Destination image; will have the same size and the same number of channels as src
ddepth – The desired depth of the destination image
ksize – The aperture size used to compute the second-derivative filters, see getDerivKernels() . It must be positive and odd
scale – The optional scale factor for the computed Laplacian values (by default, no scaling is applied, see getDerivKernels() )
delta – The optional delta value, added to the results prior to storing them in dst
borderType – The pixel extrapolation method, see borderInterpolate()