วันพฤหัสบดีที่ 23 มีนาคม พ.ศ. 2560

C++ opencv Thresholds

#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 frame, 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*);

int main(int argc, char** argv)
{
VideoCapture cap(0);
while (1)
{

cap >> frame;
/// Convert the image to Gray
cvtColor(frame, src_gray, CV_BGR2GRAY);

/// 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);
if (waitKey(30) == 27)
break;

}
return 0;
}

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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น