Advertisement
Guest User

Untitled

a guest
Apr 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.35 KB | None | 0 0
  1. do
  2. {
  3.  
  4. for (int i = 0; i < bmp.Width; i++)
  5. {
  6. for (int j = 0; j < bmp.Height; j++)
  7. {
  8. for (int l = 0; l < 3; l++)
  9. {
  10. Membership[i, j, l] = MembershipNew[i, j, l];
  11. }
  12. }
  13. }
  14. // compute centers
  15. double sumtion = 0, sumtion1 = 0;
  16. for (int k = 0; k < c; k++)
  17. {
  18. for (int i = 0; i < bmp.Width; i++)
  19. {
  20. for (int j = 0; j < bmp.Height; j++)
  21. {
  22. for (int l = 0; l < c; l++)
  23. {
  24. double sum = Membership[i, j, k] * y[i, j] * 1.6;
  25. sumtion += Math.Pow(sum, y[i, j]);
  26. sumtion1 += Math.Pow(Membership[i, j, k], 1.6);
  27.  
  28.  
  29. }
  30.  
  31.  
  32.  
  33. }
  34. }
  35.  
  36. center[k] = sumtion / sumtion1;
  37. }
  38. MessageBox.Show("OK_3");
  39. for (int i = 0; i < bmp.Width; i++)
  40. {
  41. for (int j = 0; j < bmp.Height; j++)
  42. {
  43. for (int k = 0; k < c; k++)
  44. {
  45. Dik[i, j, k] = y[i, j] - center[k];
  46. }
  47. }
  48.  
  49. }
  50.  
  51. //mebership
  52. o = 0.0;
  53. for (int k = 0; k < c; k++)
  54. {
  55. for (int i = 0; i < bmp.Width; i++)
  56. {
  57. for (int j = 0; j < bmp.Height; j++)
  58. {
  59. for (int l = 0; l < c; l++)
  60. {
  61. o = Dik[i, j, k] / Dik[i, j, l];
  62. o += Math.Pow(o, 2 / 1 - 1.6);
  63. }
  64. MembershipNew[i, j, k] = 1 / o;
  65. }
  66. }
  67. }
  68. MessageBox.Show("OK_4");
  69. asa = member();
  70. cc++;
  71. } while (cc<2|| member()==true);
  72.  
  73.  
  74. // FCM
  75. //tmp = new Bitmap(bmp.Width, bmp.Height);
  76. //for (int i = 0; i < bmp.Width; i++)
  77. //{
  78. // for (int j = 0; j < bmp.Height; j++)
  79. // {
  80. // for (int k = 0; k < c; k++)
  81. // {
  82.  
  83. // var x = Color.FromArgb(Convert.ToInt32(MembershipNew[i, j, k]), Convert.ToInt32(MembershipNew[i, j, k]), Convert.ToInt32(MembershipNew[i, j, k]));
  84. // tmp.SetPixel(i, j, x);
  85. // }
  86. // }
  87. //}
  88. //pictureBox6.Image = tmp;
  89.  
  90. }
  91.  
  92. public Boolean member()
  93. {
  94. int z = 0;
  95. bool [,]meb =new bool [tmp.Width,tmp.Height];
  96.  
  97. dd = new double[c];
  98. double max = 0;
  99.  
  100. for (int i = 0; i < tmp.Width; i++)
  101. {
  102. for (int j = 0; j < tmp.Height; j++)
  103. {
  104. do
  105. {
  106. dd[z] = MembershipNew[i, j, z] - Membership[i, j, z];
  107. } while (z < c);
  108. max = dd[0];
  109. for( z = 1; z <= c; z++)
  110. if (max < dd[z])
  111. max = dd[z];
  112.  
  113. if(max< 0.001)
  114. {
  115.  
  116. meb[i, j] = true;
  117. }
  118. else
  119. {
  120. meb[i, j] = false;
  121.  
  122. }
  123.  
  124. z++;
  125. }
  126. }
  127.  
  128. bool Su = true;
  129. z = 0;
  130. for (int i = 0; i < tmp.Width; i++)
  131. {
  132. for (int j = 0; j < tmp.Height; j++)
  133. {
  134.  
  135. if (meb[i, j] == false)
  136.  
  137. Su = false;
  138.  
  139. Su = false;
  140. break;
  141.  
  142. }
  143. }
  144.  
  145.  
  146. z++;
  147.  
  148. return Su;
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement