Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private int[,] labelImage(Bitmap image)
- {
- //get the size of image to a matrix
- int[,] imageMatrix = imgSize(image);
- int label = 2;
- int row = image.Width;
- int col = image.Height;
- for (int i = 0; i < row; i++)
- {
- for (int j = 0; j < col; j++)
- {
- if (imageMatrix[i, j] == 1)
- {
- if (i-1>=0 && imageMatrix[i-1, j] !=1 && imageMatrix[i-1, j] !=0)
- {
- imageMatrix[i, j] = imageMatrix[i - 1, j];
- if (j + 1 < col)
- {
- if (imageMatrix[i, j + 1] == 1)
- {
- // imageMatrix[i, j + 1] = label;
- imageMatrix[i, j + 1] = imageMatrix[i, j];
- }
- }
- if (i - 1 >= 0 && j + 1 < col)
- {
- if (imageMatrix[i - 1, j + 1] == 1)
- {
- imageMatrix[i - 1, j + 1] = imageMatrix[i, j];
- }
- }
- }
- else if (j - 1 >= 0 && imageMatrix[i , j-1] != 1 && imageMatrix[i , j-1] != 0)
- {
- imageMatrix[i, j] = imageMatrix[i, j-1];
- if (j + 1 < col)
- {
- if (imageMatrix[i, j + 1] == 1)
- {
- // imageMatrix[i, j + 1] = label;
- imageMatrix[i, j + 1] = imageMatrix[i, j];
- }
- }
- if (i - 1 >= 0 && j + 1 < col)
- {
- if (imageMatrix[i - 1, j + 1] == 1)
- {
- imageMatrix[i - 1, j + 1] = imageMatrix[i, j];
- }
- }
- }
- else
- {
- imageMatrix[i, j] = label;
- if (j + 1 < col)
- {
- if (imageMatrix[i, j + 1] == 1)
- {
- // imageMatrix[i, j + 1] = label;
- imageMatrix[i, j + 1] = imageMatrix[i, j];
- }
- }
- if (i - 1 >= 0 && j + 1 < col)
- {
- if (imageMatrix[i - 1, j + 1] == 1)
- {
- imageMatrix[i - 1, j + 1] = imageMatrix[i, j];
- }
- }
- }
- //if (i - 1 >= 0 && imageMatrix[i - 1, j] == 0 && imageMatrix[i, j] == 1)
- //{
- // if (j - 1 >= 0 && imageMatrix[i, j - 1] == 0)
- // {
- // label = label + 1;
- // }
- // else
- // {
- // label = label + 1;
- // }
- //}
- }
- }
- }
- return imageMatrix;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement