sp; for(int i = 0; i < rows; i++) { for(int j = 0; j < cols; j++) { if (pSrc.at<float>( i, j) == 1.0f) { /// get 8 neighbors /// calculate C(p) int neighbor0 = (int) pSrc.at<float>( i-1, j-1); int neighbor1 = (int) pSrc.at<float>( i-1, j); int neighbor2 = (int) pSrc.at<float>( i-1, j+1); int neighbor3 = (int) pSrc.at<float>( i, j+1); int neighbor4 = (int) pSrc.at<float>( i+1, j+1); int neighbor5 = (int) pSrc.at<float>( i+1, j); int neighbor6 = (int) pSrc.at<float>( i+1, j-1); int neighbor7 = (int) pSrc.at<float>( i, j-1); int C = int(~neighbor1 & ( neighbor2 | neighbor3)) + int(~neighbor3 & ( neighbor4 | neighbor5)) + int(~neighbor5 & ( neighbor6 | neighbor7)) + int(~neighbor7 & ( neighbor0 | neighbor1)); if(C == 1) { /// calculate N int N1 = int(neighbor0 | neighbor1) + int(neighbor2 | neighbor3) + int(neighbor4 | neighbor5) + int(n |