#pragma once
#include "MI_Interface.h"

using namespace cv;

class MF_VisionMeasureBase : public MI_VisionInterface
{
public:
	explicit MF_VisionMeasureBase();
	~MF_VisionMeasureBase();


	virtual bool measureAxis(std::vector<double>& measureRes, const MN_VisionImage::MS_ImageParam& _bufImg);

protected:
	bool buffer2Mat(const MN_VisionImage::MS_ImageParam& _inImg, cv::Mat& _mat);
	Mat getRotationMatrix(Point2f center, float angle, float scale);
	cv::Point getMiddleBlackPixelInRow(const cv::Mat& binaryImage, int row);
	double CalculatingAngle(Point middleBlackPixelFirstRow, Point middleBlackPixelLastRow);

};