SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
OpenCVConvolution.h
Go to the documentation of this file.
1
17/*
18 * @file SEFramework/Convolution/OpenCVConvolution.h
19 * @date 17/09/18
20 * @author aalvarez
21 */
22
23#ifndef _SEFRAMEWORK_CONVOLUTION_OPENCVCONVOLUTION_H
24#define _SEFRAMEWORK_CONVOLUTION_OPENCVCONVOLUTION_H
25
27#include <opencv2/opencv.hpp>
28
29namespace SourceXtractor {
30
32public:
35 cv::Mat aux(img->getWidth(), img->getHeight(), CV_32F);
36 std::copy(img->getData().begin(), img->getData().end(), aux.begin<float>());
37 cv::flip(aux, m_kernel, -1);
38 }
39
40 virtual ~OpenCVConvolution() = default;
41
43 cv::Mat image_cv (image->getHeight(), image->getWidth(), CV_32F);
44 std::copy(image->getData().begin(), image->getData().end(), image_cv.begin<float>());
45
46 cv::filter2D(image_cv, image_cv, -1, m_kernel);
47
48 std::copy(image_cv.begin<float>(), image_cv.end<float>(), image->getData().begin());
49 }
50
52 return m_kernel.size[0];
53 }
54
56 return m_kernel.size[1];
57 }
58
59private:
60 cv::Mat m_kernel;// (size, size, CV_32F);
61};
62
63} // end of SourceXtractor
64
65#endif // _SEFRAMEWORK_CONVOLUTION_OPENCVCONVOLUTION_H
virtual ~OpenCVConvolution()=default
OpenCVConvolution(std::shared_ptr< const VectorImage< SeFloat > > img)
void convolve(std::shared_ptr< VectorImage< SeFloat > > image) const
T copy(T... args)