0: Binary
1: Binary Inverted
2: Threshold Truncated
3: Threshold to Zero
4: Threshold to Zero Inverted
...
#include "opencv2/opencv.hpp" #include "opencv2/highgui.hpp" #include "opencv2/cudaarithm.hpp" #include <iostream> #include <vector> #ifdef _DEBUG #pragma comment(lib, "opencv_core331d.lib") #pragma comment(lib, "opencv_highgui331d.lib") #pragma comment(lib, "opencv_imgcodecs331d.lib") #pragma comment(lib, "opencv_objdetect331d.lib") #pragma comment(lib, "opencv_imgproc331d.lib") #pragma comment(lib, "opencv_videoio331d.lib") #pragma comment(lib, "opencv_cudaarithm331d.lib") #else #pragma comment(lib, "opencv_core331.lib") #pragma comment(lib, "opencv_highgui331.lib") #pragma comment(lib, "opencv_imgcodecs331.lib") #pragma comment(lib, "opencv_objdetect331.lib") #pragma comment(lib, "opencv_imgproc331.lib") #pragma comment(lib, "opencv_videoio331.lib") #pragma comment(lib, "opencv_cudaarithm331.lib") #endif using namespace std; using namespace cv; 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*); void main() { /// Load an image src = imread("blade.jpg", 1); /// Convert the image to Gray cvtColor(src, src_gray, CV_BGR2GRAY); /// Create a window to display results namedWindow(window_name, 0); resizeWindow(window_name, 500, 500); /// Create Trackbar to choose type of Threshold printf("%s", trackbar_type); 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); //origin namedWindow("origin", 0); imshow("origin", src); /// Wait until user finishes program while (true) { int c; c = waitKey(20); if ((char)c == 27) { break; } } } 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); }...
No comments:
Post a Comment