posted by 심재형 2017. 11. 11. 00:25

#include "opencv.hpp"
using namespace cv;
using namespace std;
int main()
{
 uchar dataA[] = {   1, 2, 4, 5, 2, 1,
      3, 6, 6, 9, 0, 3,
      1, 8, 3, 7, 2, 5,
      2, 9, 8, 9, 9, 1,
      3, 9, 8, 8, 7, 2,
      4, 9, 9, 9, 9, 3 };
 Mat A(6, 6, CV_8U, dataA);
 cout << "A = " << A << endl;

 int ksize = 3;
 // double sigma = 0.3*((ksize-1)*0.5-1)+0.8; // when ksize >=9 
 double sigma = 0.0;
 Mat kx = getGaussianKernel(ksize, sigma);
 cout << "kx = " << kx << endl;

 Mat ky = getGaussianKernel(ksize, sigma);
 cout << "ky = " << ky << endl;

 Mat kxy = ky*kx.t();
 cout << "kxy = " << kxy << endl;
 cout << "sum(kxy)=" << sum(kxy) << endl;

 Mat dst1;
 sepFilter2D(A, dst1, -1, kx, ky);
 cout << "dst1 = " << dst1 << endl;

 Mat dst2;
 filter2D(A, dst2, -1, kxy);
 cout << "dst2 = " << dst2 << endl;

 Mat dst3;
 GaussianBlur(A, dst3, Size(ksize, ksize), 0.0, 0.0);
 cout << "dst3 = " << dst3 << endl;

 waitKey();
 return 0;
}

 

'OpenCV' 카테고리의 다른 글

윤곽선 정보 찾기 - findContours  (0) 2017.11.15
ROI설정  (0) 2017.11.11
merge, split 함수  (0) 2017.11.11
inrange 이진화 영상  (0) 2017.11.11
Template Matching 이용해 모양찾기  (0) 2017.11.04