#ifndef __BINARYIMAGEBASEDONGRADIENT_H__
#define __BINARYIMAGEBASEDONGRADIENT_H__
#include <iostream>
#include <algorithm>
#include "opencv2/opencv.hpp"
void CalculateHorizonGradient(const cv::Mat& srcImg, cv::Mat& horizonGradient)
{
horizonGradient = cv::Mat(srcImg.size(), srcImg.type(), cv::Scalar(0));
const int nCols = srcImg.cols;
const int nRows = srcImg.rows;
for (int i = 0; i < nRows; ++i)
{
const uchar* srcData = srcImg.ptr<uchar>(i);
uchar* gradientData = horizonGradient.ptr<uchar>(i);
for (int j = 1; j < nCols-1; ++j)
{
gradientData[j] = std::abs(srcData[j-1]-srcData[j+1]);
}
}
return;
}
void CalculateVerticalGradient(const cv::Mat&