ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:286.98KB ,
资源ID:12036628      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12036628.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图像处理系统设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图像处理系统设计.docx

1、图像处理系统设计图像处理系统设计一、设计目的随着社会的发展,数码相机以及相关产品的使用率大大增加,使得电子相片越来越普及。由于使用者的经验不是很足,导致很多相片都达不到很好的效果,这迫切需要一款图像处理软件,为此我开发设计了图像处理系统,服务大众。二、设计思路1.文件:打开,保存,另存为;2.图像:垂直翻转、水平翻转、翻转90度;3.滤镜:浮雕、黑白、反色、锐化、反色、棕褐色;三、流程图四、界面设计五、关键代码1.浮雕处理private void btnfudiao_Click(object sender, EventArgs e) /以浮雕效果显示图像 if (pictureBox1.Ima

2、ge = null) MessageBox.Show(没有可处理的图片,请导入!); return; int Width = this.pictureBox1.Image.Width; int Height = this.pictureBox1.Image.Height; Bitmap newBitmap = new Bitmap(Width, Height); Bitmap oldBitmap = (Bitmap)this.pictureBox1.Image; Color pixel1, pixel2; double q; int w; progressBar1.Value = 0; pro

3、gressBar1.Maximum = Width; for (int x = 0; x Width - 1; x+) for (int y = 0; y 255) r = 255; if (r 255) g = 255; if (g 255) b = 255; if (b 0) b = 0; newBitmap.SetPixel(x, y, Color.FromArgb(r, g, b); progressBar1.Value+; q = (progressBar1.Value / double.Parse(progressBar1.Maximum.ToString() * 100; w =

4、 Convert.ToInt16(q); label1.Refresh(); label1.Text = w.ToString() + %; this.pictureBox2.Image = newBitmap; 2.黑白处理 private void btnheibai_Click(object sender, EventArgs e) /以黑白效果显示图像 if (pictureBox1.Image = null) MessageBox.Show(没有可处理的图片,请导入!); return; int Height = this.pictureBox1.Image.Height; int

5、Width = this.pictureBox1.Image.Width; Bitmap newBitmap = new Bitmap(Width, Height); Bitmap oldBitmap = (Bitmap)this.pictureBox1.Image; Color pixel; double q; int w; progressBar1.Value = 0; progressBar1.Maximum = Width; for (int x = 0; x Width; x+) for (int y = 0; y g ? r : g; Result = Result b ? Res

6、ult : b; break; case 2:/加权平均值法 Result = (int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b); break; newBitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result); progressBar1.Value+; q = (progressBar1.Value / double.Parse(progressBar1.Maximum.ToString() * 100; w = Convert.ToInt16(q); label1.Refresh(

7、); label1.Text = w.ToString() + %; this.pictureBox2.Image = newBitmap; 3.柔化处理 private void btnrouhua_Click(object sender, EventArgs e) /以柔化效果显示图像 if (pictureBox1.Image = null) MessageBox.Show(没有可处理的图片,请导入!); return; int Height = this.pictureBox1.Image.Height; int Width = this.pictureBox1.Image.Width

8、; Bitmap bitmap = new Bitmap(Width, Height); Bitmap MyBitmap = (Bitmap)this.pictureBox1.Image; Color pixel; double q; int w; progressBar1.Value = 0; progressBar1.Maximum = Width ; int Gauss = 1, 2, 1, 2, 4, 2, 1, 2, 1 ; for (int x = 1; x Width - 1; x+) for (int y = 1; y Height - 1; y+) int r = 0, g

9、= 0, b = 0; int Index = 0; for (int col = -1; col = 1; col+) for (int row = -1; row 255 ? 255 : r; r = r 255 ? 255 : g; g = g 255 ? 255 : b; b = b 0 ? 0 : b; bitmap.SetPixel(x - 1, y - 1, Color.FromArgb(r, g, b); progressBar1.Value+; q = (progressBar1.Value / double.Parse(progressBar1.Maximum.ToStri

10、ng() * 100; w = Convert.ToInt16(q) + 1; label1.Refresh(); label1.Text = w.ToString() + %; this.pictureBox2.Image = bitmap; 4.锐化处理 private void btnruihua_Click(object sender, EventArgs e)/以锐化效果显示图像 if (pictureBox1.Image = null) MessageBox.Show(没有可处理的图片,请导入!); return; int Height = this.pictureBox1.Ima

11、ge.Height; int Width = this.pictureBox1.Image.Width; Bitmap newBitmap = new Bitmap(Width, Height); Bitmap oldBitmap = (Bitmap)this.pictureBox1.Image; Color pixel; double q; int w; progressBar1.Value = 0; progressBar1.Maximum = Width; int Laplacian = -1, -1, -1, -1, 9, -1, -1, -1, -1 ; for (int x = 1

12、; x Width - 1; x+) for (int y = 1; y Height - 1; y+) int r = 0, g = 0, b = 0; int Index = 0; for (int col = -1; col = 1; col+) for (int row = -1; row 255 ? 255 : r; r = r 255 ? 255 : g; g = g 255 ? 255 : b; b = b 0 ? 0 : b; newBitmap.SetPixel(x - 1, y - 1, Color.FromArgb(r, g, b); progressBar1.Value

13、+; q = (progressBar1.Value / double.Parse(progressBar1.Maximum.ToString() * 100; w = Convert.ToInt16(q) + 1; label1.Refresh(); label1.Text = w.ToString() + %; this.pictureBox2.Image = newBitmap; 5.棕褐色处理 private void btnzonghese_Click(object sender, EventArgs e)/以棕褐色效果显示图像 if (pictureBox1.Image = nul

14、l) MessageBox.Show(没有可处理的图片,请导入!); return; int Height = this.pictureBox1.Image.Height; int Width = this.pictureBox1.Image.Width; Bitmap bitmap = new Bitmap(Width, Height); Bitmap MyBitmap = (Bitmap)this.pictureBox1.Image; Color pixel1; int r, g, b; double q; int w; progressBar1.Value = 0; progressBa

15、r1.Maximum = Width; for (int i = 1; i Width - 1; i+) for (int j = 1; j 255) r = 255; if (r 255) g = 255; if (g 255) b = 255; if (b 0) b = 0; bitmap.SetPixel(i, j, Color.FromArgb(r, g, b); progressBar1.Value+; q = (progressBar1.Value / double.Parse(progressBar1.Maximum.ToString() * 100; w = Convert.T

16、oInt16(q) + 1; label1.Refresh(); label1.Text = w.ToString() + %; this.pictureBox2.Image = bitmap; 6.反色处理 private void btnfanse_Click(object sender, EventArgs e) /以反色效果显示图像 if (pictureBox1.Image = null) MessageBox.Show(没有可处理的图片,请导入!); return; Bitmap oldBitmap = (Bitmap)this.pictureBox1.Image; int Hei

17、ght = this.pictureBox1.Image.Height; int Width = this.pictureBox1.Image.Width; Bitmap bitmap = new Bitmap(Width, Height); Color pixel; double q; int w; progressBar1.Value = 0; progressBar1.Maximum = Width; for (int x = 1; x Width; x+) for (int y = 1; y Height; y+) int r, g, b; pixel = oldBitmap.GetP

18、ixel(x, y); r = 255 - pixel.R; g = 255 - pixel.G; b = 255 - pixel.B; bitmap.SetPixel(x, y, Color.FromArgb(r, g, b); progressBar1.Value+; q = (progressBar1.Value / double.Parse(progressBar1.Maximum.ToString() * 100; w = Convert.ToInt16(q); label1.Refresh(); label1.Text = w.ToString() + %; this.pictur

19、eBox2.Image = bitmap; 7.水平翻转private void btnshuipingfanzhuan_Click(object sender, EventArgs e) if (pictureBox1.Image = null) MessageBox.Show(没有可处理的图片,请导入!); return; Color c = new Color(); Bitmap box1 = new Bitmap(pictureBox1.Image ); int rr,gg,bb; int,pic = new int600,600,3; for (int i = 0;ipictureB

20、ox1.Image.Width-1;i+) for (int j=0;jpictureBox1.Height-1;j+) c = box1.GetPixel(i,j); pici,j,0 = c.R; pici,j,1 = c.G; pici,j,2 = c.B; for (int i = 1;ipictureBox1.Image.Width-1;i+) for (int j=1;jpictureBox1.Height-1;j+) rr=pici,j,0; gg=pici,j,1; bb=pici,j,2; Color c1 =Color.FromArgb(rr,gg,bb); box1.Se

21、tPixel(pictureBox1.Image.Width-i,j,c1); pictureBox2.Image = box1; 8.垂直翻转 private void btnchuizhifanzhuan_Click(object sender, EventArgs e) if (pictureBox1.Image = null) MessageBox.Show(没有可处理的图片,请导入!); return; Bitmap bt = new Bitmap(pictureBox1.Image); Bitmap bt1 = new Bitmap(pictureBox1.Image.Height

22、, pictureBox1.Image.Width); for (int i = 0; i bt.Width; i+) for (int j = 0; j bt.Height; j+) int R, G, B; R = bt.GetPixel(i, j).R; G = bt.GetPixel(i, j).G; B = bt.GetPixel(i, j).B; bt1.SetPixel(j, i, Color.FromArgb(R, G, B); pictureBox1.Refresh(); pictureBox2.Image = bt1; 9.旋转90度private void btnzhua

23、n90du_Click(object sender, EventArgs e) if (pictureBox1.Image = null) MessageBox.Show(错误,没有导入图片!); return; Bitmap bt = new Bitmap(pictureBox1.Image); Bitmap bt1 = new Bitmap(pictureBox1.Height, pictureBox1.Width); for (int i = 0; i bt.Width; i+) for (int j = 0; j bt.Height; j+) int R, G, B; R = bt.GetPixel(i, j).R; G = bt.GetPixel(i, j).G; B = bt.GetPixel(i, j).B; bt1.SetPixel(j, i, Color.FromArgb(R, G, B); pictureBox1.Refresh(); pictureBox2.Image = bt1; 六、总结 通过制作了图像处理系统,使我对图像处理技术的理解更进一步加深,制作过程中也使我对C#图像编程更加感兴趣,提高了学习C#的动力,同时,制作过程中出现的问题和在解决问题的过程中,使我提高了处理问题的能力。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1