New basic filter sample added
authorAna Huaman <no@email>
Fri, 17 Jun 2011 20:13:53 +0000 (20:13 +0000)
committerAna Huaman <no@email>
Fri, 17 Jun 2011 20:13:53 +0000 (20:13 +0000)
samples/cpp/tutorial_code/Basic/AddingImages.cpp
samples/cpp/tutorial_code/Basic/AddingImagesTrackbar.cpp
samples/cpp/tutorial_code/Basic/LoadSaveImage.cpp
samples/cpp/tutorial_code/Image_Processing/FilterDemo1.cpp [new file with mode: 0644]
samples/cpp/tutorial_code/images/HappyFish.jpg [new file with mode: 0755]
samples/cpp/tutorial_code/images/LinuxLogo.jpg [new file with mode: 0755]
samples/cpp/tutorial_code/images/WindowsLogo.jpg [new file with mode: 0755]
samples/cpp/tutorial_code/images/cat.jpg [new file with mode: 0755]
samples/cpp/tutorial_code/images/lena.png [new file with mode: 0644]

index a1cbc60..af2edf0 100644 (file)
@@ -32,8 +32,8 @@ int main( int argc, char** argv )
      { alpha = input; }
 
    /// Read image ( same size, same type )
-   src1 = imread("../../images/LinuxLogo.jpg");
-   src2 = imread("../../images/WindowsLogo.jpg");
+   src1 = imread("../images/LinuxLogo.jpg");
+   src2 = imread("../images/WindowsLogo.jpg");
 
    if( !src1.data ) { printf("Error loading src1 \n"); return -1; }
    if( !src2.data ) { printf("Error loading src2 \n"); return -1; }
index 191eb9b..047474a 100644 (file)
@@ -43,8 +43,8 @@ void on_trackbar( int, void* )
 int main( int argc, char** argv )
 {
    /// Read image ( same size, same type )
-   src1 = imread("../../images/LinuxLogo.jpg");
-   src2 = imread("../../images/WindowsLogo.jpg");
+   src1 = imread("../images/LinuxLogo.jpg");
+   src2 = imread("../images/WindowsLogo.jpg");
 
    if( !src1.data ) { printf("Error loading src1 \n"); return -1; }
    if( !src2.data ) { printf("Error loading src2 \n"); return -1; }
index 80b94c9..69db8e3 100644 (file)
@@ -36,7 +36,7 @@ int main( int argc, char** argv )
   cvtColor( image, gray_image, CV_RGB2GRAY );
 
   /// Save our gray image
-  imwrite( "../../images/Gray_Image.png", gray_image );
+  imwrite( "../images/Gray_Image.png", gray_image );
 
   /// Create a couple of windows and show our images
   namedWindow( imageName, CV_WINDOW_AUTOSIZE );
diff --git a/samples/cpp/tutorial_code/Image_Processing/FilterDemo1.cpp b/samples/cpp/tutorial_code/Image_Processing/FilterDemo1.cpp
new file mode 100644 (file)
index 0000000..b7e1ab8
--- /dev/null
@@ -0,0 +1,109 @@
+/**
+ * file FilterDemo1.cpp
+ * brief Sample code for simple filters
+ * author OpenCV team
+ */
+#include <iostream>
+#include <vector>
+
+#include "opencv2/imgproc/imgproc.hpp"
+#include "opencv2/highgui/highgui.hpp"
+#include "opencv2/features2d/features2d.hpp"
+
+using namespace std;
+using namespace cv;
+
+/// Global Variables
+int DELAY_CAPTION = 1500;
+int DELAY_BLUR = 100;
+int MAX_KERNEL_LENGTH = 31;
+
+Mat src; Mat dst;
+char window_name[] = "Filter Demo 1";
+
+/// Function headers
+int display_caption( char* caption );
+int display_dst( int delay );
+
+
+/** 
+ * function main 
+ */
+int main( int argc, char** argv )
+{
+  namedWindow( window_name, CV_WINDOW_AUTOSIZE );
+
+  /// Load the source image
+  src = imread( "../images/lena.png", 1 ); 
+
+  if( display_caption( "Original Image" ) != 0 ) { return 0; }
+
+  dst = src.clone();
+  if( display_dst( DELAY_CAPTION ) != 0 ) { return 0; }
+
+
+  /// Applying Homogeneous blur 
+  if( display_caption( "Homogeneous Blur" ) != 0 ) { return 0; }
+
+  for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
+      { blur( src, dst, Size( i, i ), Point(-1,-1) );
+        if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }
+
+
+  /// Applying Gaussian blur 
+  if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; }
+
+  for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
+      { GaussianBlur( src, dst, Size( i, i ), 0, 0 );
+        if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }
+
+
+  /// Applying Median blur
+  if( display_caption( "Median Blur" ) != 0 ) { return 0; }
+
+  for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
+      { medianBlur ( src, dst, i );
+        if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }
+
+
+  /// Applying Bilateral Filter
+  if( display_caption( "Bilateral Blur" ) != 0 ) { return 0; }
+
+  for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
+      { bilateralFilter ( src, dst, i, i*2, i/2 );
+        if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }
+
+  /// Wait until user press a key
+  display_caption( "End: Press a key!" );
+
+  waitKey(0);
+
+  return 0;
+}
+
+/**
+ * @function display_caption
+ */
+int display_caption( char* caption )
+{
+  dst = Mat::zeros( src.size(), src.type() );
+  putText( dst, caption, 
+           Point( src.cols/4, src.rows/2), 
+           CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 255) );
+
+  imshow( window_name, dst );
+  int c = waitKey( DELAY_CAPTION );
+  if( c >= 0 ) { return -1; }
+  return 0;
+}
+
+/**
+ * @function display_dst
+ */
+int display_dst( int delay )
+{
+  imshow( window_name, dst );
+  int c = waitKey ( delay );
+  if( c >= 0 ) { return -1; }
+  return 0;   
+}
diff --git a/samples/cpp/tutorial_code/images/HappyFish.jpg b/samples/cpp/tutorial_code/images/HappyFish.jpg
new file mode 100755 (executable)
index 0000000..c76288e
Binary files /dev/null and b/samples/cpp/tutorial_code/images/HappyFish.jpg differ
diff --git a/samples/cpp/tutorial_code/images/LinuxLogo.jpg b/samples/cpp/tutorial_code/images/LinuxLogo.jpg
new file mode 100755 (executable)
index 0000000..34cba88
Binary files /dev/null and b/samples/cpp/tutorial_code/images/LinuxLogo.jpg differ
diff --git a/samples/cpp/tutorial_code/images/WindowsLogo.jpg b/samples/cpp/tutorial_code/images/WindowsLogo.jpg
new file mode 100755 (executable)
index 0000000..04be449
Binary files /dev/null and b/samples/cpp/tutorial_code/images/WindowsLogo.jpg differ
diff --git a/samples/cpp/tutorial_code/images/cat.jpg b/samples/cpp/tutorial_code/images/cat.jpg
new file mode 100755 (executable)
index 0000000..df4a907
Binary files /dev/null and b/samples/cpp/tutorial_code/images/cat.jpg differ
diff --git a/samples/cpp/tutorial_code/images/lena.png b/samples/cpp/tutorial_code/images/lena.png
new file mode 100644 (file)
index 0000000..59ef68a
Binary files /dev/null and b/samples/cpp/tutorial_code/images/lena.png differ