- 最後登錄
- 2023-5-14
- 在線時間
- 0 小時
- 註冊時間
- 2009-5-20
- 閱讀權限
- 20
- 精華
- 0
- UID
- 6413828
- 帖子
- 275
- 積分
- 0 點
- 潛水值
- 16412 米
| 成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
基本上 分成兩個步驟來做,第一個先轉灰階,在做成濾波,為了結果能夠一目瞭然
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace ImageProcessing
- {
- public partial class Form1 : Form
- {
- public string ApplicationPath = System.Windows.Forms.Application.StartupPath + @"\..\..\Images\";
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- OpenFileDialog dlgFile = new OpenFileDialog();
- dlgFile.InitialDirectory = ApplicationPath;
- dlgFile.Filter = "Images (*.bmp,*.jpg,*.jpeg)|*.bmp;*.jpg;*.jpeg";
- dlgFile.FilterIndex = 1;
- if (dlgFile.ShowDialog() == DialogResult.OK)
- {
- Bitmap bitmap = new Bitmap(dlgFile.FileName);
- pictureBox1.Image = bitmap;
- }
- }
- private void button2_Click(object sender, EventArgs e)
- {
- int k = 0;
- Bitmap bitmap2 = new Bitmap(pictureBox1.Image);
- for (int x = 0; x < bitmap2.Width; x++)
- {
- for (int y = 0; y < bitmap2.Height; y++)
- {
- Color color = bitmap2.GetPixel(x, y);
- int gray = (color.R + color.G + color.B) / 3;
- Color WB_color = Color.FromArgb(gray, gray, gray);
- bitmap2.SetPixel(x, y, WB_color);
- pictureBox2.Image = bitmap2;
- }
- }
- Bitmap bitmap3 = new Bitmap(pictureBox2.Image);
- int gray1, gray2 = 0;
- for (int xw = 0; xw < bitmap3.Width - 1; xw++)
- {
- for (int yh = 0; yh < bitmap3.Height - 1; yh++)
- {
- if ((xw - 1) > 0)
- {
- if ((xw + 1) < bitmap2.Width)
- {
- if ((yh - 1) > 0)
- {
- if ((yh + 1) < bitmap2.Height)
- {
- k++;
- }
- }
- }
- }
- if (k > 0)
- {
- for (int m = -1; m < 2; m++)
- {
- for (int n = -1; n < 2; n++)
- {
- Color color1 = bitmap3.GetPixel(xw + m, yh + n);
- gray1 = (color1.R + color1.G + color1.B) / 3;
- gray2 = gray2 + gray1;
- }
- }
-
- gray2 = gray2 / 9;
- Color new_color = Color.FromArgb(gray2, gray2, gray2);
- bitmap3.SetPixel(xw, yh, new_color);
- k = 0;
- gray2 = 0;
- }
- }
- }
- pictureBox3.Image = bitmap3;
- }
- }
- }
複製代碼 ... |
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊 |