Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Drawing;
- using System.Collections;
- namespace oefening1 {
- class Mediaan {
- private Bitmap bmp;
- Color pixelBoven;
- Color pixelOnder;
- Color pixelRechts;
- Color pixelLinks;
- Color pixelMidden;
- int mediaanRed;
- int mediaanGreen;
- int mediaanBlue;
- List<int> red = new List<int>();
- List<int> green = new List<int>();
- List<int> blue = new List<int>();
- //constructor
- public Mediaan(string path) {
- this.bmp = new Bitmap(path);
- convertToMediaan();
- }
- //getter afbeelding
- public Bitmap getAfbeelding() {
- return this.bmp;
- }
- public void convertToMediaan() {
- //i kolommen , j rijen
- for (int i = 0; i < bmp.Width; i++) {
- for (int j = 0; j < bmp.Height; j++) {
- //als i > 0 haal pixel links van de te bewerken pixel op
- if (i > 0) {
- pixelLinks = bmp.GetPixel(i - 1, j);
- red.Add(pixelLinks.R);
- green.Add(pixelLinks.G);
- blue.Add(pixelLinks.B);
- }
- //als j <= bmp.Height haal pixel rechts van de te bewerken pixel op
- if (j < bmp.Height-1) {
- pixelOnder = bmp.GetPixel(i, j + 1);
- red.Add(pixelOnder.R);
- green.Add(pixelOnder.G);
- blue.Add(pixelOnder.B);
- }
- //als j > 0 haal pixel boven de te bewerken pixel op
- if (j > 0) {
- pixelBoven = bmp.GetPixel(i, j - 1);
- red.Add(pixelBoven.R);
- green.Add(pixelBoven.G);
- blue.Add(pixelBoven.B);
- }
- //als i < bmp.height haal pixel rechts van de te bewerken pixel op
- if (i < bmp.Width-1) {
- pixelRechts = bmp.GetPixel(i+1, j);
- red.Add(pixelRechts.R);
- green.Add(pixelRechts.G);
- blue.Add(pixelRechts.B);
- }
- pixelMidden = bmp.GetPixel(i, j);
- red.Add(pixelMidden.R);
- green.Add(pixelMidden.G);
- blue.Add(pixelMidden.B);
- if (red.Count == 5) {
- mediaanRed = red[2];
- mediaanGreen = green[2];
- mediaanBlue = blue[2];
- }
- if (red.Count == 4) {
- int somRed = red[1] + red[2];
- int somGreen = green[1] + green[2];
- int somBlue = blue[1] + blue[2];
- mediaanRed = somRed;
- mediaanGreen = somGreen;
- mediaanBlue = somBlue;
- }
- if (red.Count == 3) {
- mediaanRed = red[1];
- mediaanGreen = green[1];
- mediaanBlue = blue[1];
- }
- bmp.SetPixel(i, j, Color.FromArgb(mediaanRed,mediaanGreen,mediaanBlue));
- //hier eindigt 1e for-lus
- }
- //hier eindigt 2e for-lus
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement