Home | History | Annotate | Download | only in ImgTrans
      1 /**
      2  * @file Laplace_Demo.cpp
      3  * @brief Sample code showing how to detect edges using the Laplace operator
      4  * @author OpenCV team
      5  */
      6 
      7 #include "opencv2/imgproc/imgproc.hpp"
      8 #include "opencv2/imgcodecs.hpp"
      9 #include "opencv2/highgui/highgui.hpp"
     10 #include <stdlib.h>
     11 #include <stdio.h>
     12 
     13 using namespace cv;
     14 
     15 /**
     16  * @function main
     17  */
     18 int main( int, char** argv )
     19 {
     20 
     21   Mat src, src_gray, dst;
     22   int kernel_size = 3;
     23   int scale = 1;
     24   int delta = 0;
     25   int ddepth = CV_16S;
     26   const char* window_name = "Laplace Demo";
     27 
     28   /// Load an image
     29   src = imread( argv[1] );
     30 
     31   if( src.empty() )
     32     { return -1; }
     33 
     34   /// Remove noise by blurring with a Gaussian filter
     35   GaussianBlur( src, src, Size(3,3), 0, 0, BORDER_DEFAULT );
     36 
     37   /// Convert the image to grayscale
     38   cvtColor( src, src_gray, COLOR_RGB2GRAY );
     39 
     40   /// Create window
     41   namedWindow( window_name, WINDOW_AUTOSIZE );
     42 
     43   /// Apply Laplace function
     44   Mat abs_dst;
     45 
     46   Laplacian( src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT );
     47   convertScaleAbs( dst, abs_dst );
     48 
     49   /// Show what you got
     50   imshow( window_name, abs_dst );
     51 
     52   waitKey(0);
     53 
     54   return 0;
     55 }
     56