Added Threshold.cpp in samples/cpp/tutorial_code/ImgProc
authorAna Huaman <no@email>
Tue, 21 Jun 2011 23:50:02 +0000 (23:50 +0000)
committerAna Huaman <no@email>
Tue, 21 Jun 2011 23:50:02 +0000 (23:50 +0000)
samples/cpp/tutorial_code/ImgProc/Threshold.cpp [new file with mode: 0644]

diff --git a/samples/cpp/tutorial_code/ImgProc/Threshold.cpp b/samples/cpp/tutorial_code/ImgProc/Threshold.cpp
new file mode 100644 (file)
index 0000000..c224ee5
--- /dev/null
@@ -0,0 +1,84 @@
+/**
+ * @file Threshold.cpp
+ * @brief Sample code that shows how to use the diverse threshold options offered by OpenCV
+ * @author OpenCV team
+ */
+
+#include "opencv2/imgproc/imgproc.hpp"
+#include "opencv2/highgui/highgui.hpp"
+#include <stdlib.h>
+#include <stdio.h>
+
+using namespace cv;
+
+/// Global variables
+
+int threshold_value = 0;
+int threshold_type = 3;;
+int const max_value = 255;
+int const max_type = 4;
+int const max_BINARY_value = 255;
+
+Mat src, src_gray, dst;
+char* window_name = "Threshold Demo";
+
+char* trackbar_type = "Type: \n 0: Binary \n 1: Binary Inverted \n 2: Truncate \n 3: To Zero \n 4: To Zero Inverted";
+char* trackbar_value = "Value";
+
+/// Function headers
+void Threshold_Demo( int, void* );
+
+/**
+ * @function main
+ */
+int main( int argc, char** argv )
+{
+  /// Load an image
+  src = imread( argv[1], 1 );
+
+  /// Convert the image to Gray
+  cvtColor( src, src_gray, CV_RGB2GRAY );
+
+  /// Create a window to display results
+  namedWindow( window_name, CV_WINDOW_AUTOSIZE );
+
+  /// Create Trackbar to choose type of Threshold
+  createTrackbar( trackbar_type, 
+                 window_name, &threshold_type, 
+                 max_type, Threshold_Demo );
+
+  createTrackbar( trackbar_value,
+                 window_name, &threshold_value,
+                 max_value, Threshold_Demo );
+
+  /// Call the function to initialize
+  Threshold_Demo( 0, 0 );
+
+  /// Wait until user finishes program
+  while(true)
+    {
+      int c;
+      c = waitKey( 20 );
+      if( (char)c == 27 )
+       { break; }
+    }
+
+}
+
+
+/**
+ * @function Threshold_Demo
+ */
+void Threshold_Demo( int, void* )
+{
+  /* 0: Binary
+     1: Binary Inverted
+     2: Threshold Truncated
+     3: Threshold to Zero
+     4: Threshold to Zero Inverted
+   */
+
+  threshold( src_gray, dst, threshold_value, max_BINARY_value,threshold_type );
+
+  imshow( window_name, dst );
+}