#pragma once
#include <opencv2/opencv.hpp>

struct SampleStrip{
    float length;
    cv::Point2f vecX;
    cv::Point2f vecY;
};

class SobelFilter{

    public:
        void drawStrips(cv::Mat output);
        cv::Point2d getSubPixelPoint(float dx, float dy,const cv::Point edge, cv::Point delimiter,cv::Mat input);

    private:
        int samplePixel(const cv::Mat &pSrc, const cv::Point2f &p);
        cv::Point2d findSubPixelPoint(cv::Mat iplPixel, SampleStrip strip);
        std::vector<SampleStrip> sampleStrips;
        std::vector<char> samples;
};
