SHARE
TWEET

Untitled

a guest Jun 19th, 2017 39 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
Top