eighbor6 | neighbor7);
int N2 = int(neighbor1 | neighbor2) +
int(neighbor3 | neighbor4) +
int(neighbor5 | neighbor6) +
int(neighbor7 | neighbor0);
int N = min(N1,N2);
if((N == 2) || (N == 3)) {
int E = (neighbor5 | neighbor6 | ~neighbor0) & neighbor7;
if(E == 0) {
pDst.at<float>(i, j) = 0.0f;
}
}
}
}
}
}
}
int main(int argc, char* argv[])
{
Mat src = imread("D://thinning.png", 0);
Mat inputarray = src(Rect(10, 10, src.cols - 20, src.rows - 20));
threshold(inputarray, inputarray, 100, 255, CV_THRESH_BINARY);
Mat outputarray(inputarray.rows,inputarray.cols,CV_32FC1);
bool bDone = false;
int rows = inputarray.rows;
int cols = inputarray.cols;
inputarray.convertTo(inputarray, CV_32FC1);
inputarray.copyTo(outputarray);
//outputarray.convertTo(outputarray, CV_32FC1);
/// pad source
Mat p_enlarged_src = Mat(rows + 2, cols + 2, CV_32FC1);
for (int i = 0; i < (rows + 2); i++) {
p_enlarged_src.at<float>(i, 0) = 0.0f;
p_enlarged_src.at<float>(i, cols + 1) = 0.0f;
}
for (int j = 0; j < (cols + 2); j++) {
p_enlarged_src.at<float>(0, j) = 0.0f;
p_enlarged_sr