Advertisement
Guest User

Untitled

a guest
Jun 19th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Drawing;
  6. using System.Collections;
  7.  
  8.  
  9.  
  10. namespace oefening1 {
  11. class Mediaan {
  12.  
  13. private Bitmap bmp;
  14.  
  15. Color pixelBoven;
  16. Color pixelOnder;
  17. Color pixelRechts;
  18. Color pixelLinks;
  19. Color pixelMidden;
  20.  
  21. int mediaanRed;
  22. int mediaanGreen;
  23. int mediaanBlue;
  24.  
  25. List<int> red = new List<int>();
  26. List<int> green = new List<int>();
  27. List<int> blue = new List<int>();
  28.  
  29. //constructor
  30. public Mediaan(string path) {
  31. this.bmp = new Bitmap(path);
  32. convertToMediaan();
  33. }
  34.  
  35. //getter afbeelding
  36. public Bitmap getAfbeelding() {
  37. return this.bmp;
  38. }
  39.  
  40. public void convertToMediaan() {
  41.  
  42. //i kolommen , j rijen
  43. for (int i = 0; i < bmp.Width; i++) {
  44.  
  45. for (int j = 0; j < bmp.Height; j++) {
  46.  
  47. //als i > 0 haal pixel links van de te bewerken pixel op
  48. if (i > 0) {
  49. pixelLinks = bmp.GetPixel(i - 1, j);
  50.  
  51. red.Add(pixelLinks.R);
  52. green.Add(pixelLinks.G);
  53. blue.Add(pixelLinks.B);
  54. }
  55.  
  56. //als j <= bmp.Height haal pixel rechts van de te bewerken pixel op
  57. if (j < bmp.Height-1) {
  58. pixelOnder = bmp.GetPixel(i, j + 1);
  59.  
  60. red.Add(pixelOnder.R);
  61. green.Add(pixelOnder.G);
  62. blue.Add(pixelOnder.B);
  63. }
  64.  
  65. //als j > 0 haal pixel boven de te bewerken pixel op
  66. if (j > 0) {
  67. pixelBoven = bmp.GetPixel(i, j - 1);
  68.  
  69. red.Add(pixelBoven.R);
  70. green.Add(pixelBoven.G);
  71. blue.Add(pixelBoven.B);
  72. }
  73. //als i < bmp.height haal pixel rechts van de te bewerken pixel op
  74. if (i < bmp.Width-1) {
  75. pixelRechts = bmp.GetPixel(i+1, j);
  76.  
  77. red.Add(pixelRechts.R);
  78. green.Add(pixelRechts.G);
  79. blue.Add(pixelRechts.B);
  80. }
  81.  
  82. pixelMidden = bmp.GetPixel(i, j);
  83. red.Add(pixelMidden.R);
  84. green.Add(pixelMidden.G);
  85. blue.Add(pixelMidden.B);
  86.  
  87. if (red.Count == 5) {
  88. mediaanRed = red[2];
  89. mediaanGreen = green[2];
  90. mediaanBlue = blue[2];
  91. }
  92.  
  93. if (red.Count == 4) {
  94. int somRed = red[1] + red[2];
  95. int somGreen = green[1] + green[2];
  96. int somBlue = blue[1] + blue[2];
  97.  
  98. mediaanRed = somRed;
  99. mediaanGreen = somGreen;
  100. mediaanBlue = somBlue;
  101. }
  102.  
  103. if (red.Count == 3) {
  104. mediaanRed = red[1];
  105. mediaanGreen = green[1];
  106. mediaanBlue = blue[1];
  107. }
  108.  
  109. bmp.SetPixel(i, j, Color.FromArgb(mediaanRed,mediaanGreen,mediaanBlue));
  110.  
  111. //hier eindigt 1e for-lus
  112. }
  113. //hier eindigt 2e for-lus
  114. }
  115. }
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement