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

C++ opencv Linear Filter

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdlib.h>
#include <stdio.h>
#include <iostream>

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
/// Declare variables
Mat frame, dst, kernel;
int kernel_size;

VideoCapture cap(0);
while (1)
{
cap >> frame;
dst = frame.clone();

namedWindow("Original number", CV_WINDOW_AUTOSIZE);
imshow("Original number", frame);

/// Update kernel size for a normalized box filter
kernel_size = 15;
//3 + 2 * (20 % 5);
kernel = Mat::ones(kernel_size, kernel_size, CV_32F) / (float)(kernel_size*kernel_size);

/// Apply filter
filter2D(frame, dst, -1, kernel, Point(-1, -1), 0, BORDER_DEFAULT);

namedWindow("filter2D Demo", CV_WINDOW_AUTOSIZE);
imshow("filter2D Demo", dst);
if (waitKey(30) == 27)
break;
}
return 0;
}

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

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