菜单
  

    IntPtr ptr = bmpData.Scan0;//获取位图中第一个像素数据地址
    int bytes = curBitmap.Width * curBitmap.Height;
    byte[] grayValues = new byte[bytes];
    System.Runtime.InteropServices.Marshal.Copy(ptr, grayValues, 0, bytes);
    curBitmap.UnlockBits(bmpData);//解锁系统内存中的位图像素
    bool method = pc.GetMethod;
    byte seg = pc.GetSeg; //取用户选择的分层数
    byte[] rgbValues = new byte[bytes * 3];
    Array.Clear(rgbValues, 0, bytes * 3);//将数组rgbValues中的一系列元素设为0
    byte tempB;
    //以下是强度分层法处理的部分
    if (method == false)    
    {
    for (int i = 0; i < bytes; i++)
    {
    byte ser = (byte)(256 / seg);
     tempB = (byte)(grayValues[i] / ser);
    rgbValues[i * 3 + 1] = (byte)(tempB * ser);
    rgbValues[i * 3] = (byte)((seg - 1 - tempB) * ser);
    rgbValues[i * 3 + 2] = 0;
    }
    }
         
    图 4.9 分4层后的处理结果
    图 4.10 分8层后的处理结果
    图 4.11 分16层后的处理结果
    图 4.12 分32层后的处理结果

       //灰度级-彩色变换
    for (int i = 0; i < bytes; i++)
    {
    if (grayValues[i] < 64)
    {
    rgbValues[i * 3 + 2] = 0;
    rgbValues[i * 3 + 1] = (byte)(4 * grayValues[i]);
    rgbValues[i * 3] = 255;
    }
    else if (grayValues[i] < 128)
    {
    rgbValues[i * 3 + 2] = 0;
    rgbValues[i * 3 + 1] = 255;
    rgbValues[i * 3] = (byte)(-4 * grayValues[i] + 2 * 255);
    }else if (grayValues[i] < 192)
    {
    rgbValues[i * 3 + 2] = (byte)(4 * grayValues[i] - 2 * 255);
    rgbValues[i * 3 + 1] = 255;
    rgbValues[i * 3] = 0;
    }else
    {
    rgbValues[i * 3 + 2] = 255;
    rgbValues[i * 3 + 1] = (byte)(-4 * grayValues[i] + 4 * 255);
    rgbValues[i * 3] = 0;
    }
    curBitmap = new Bitmap (curBitmap.Width,curBitmap.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
    bmpData = curBitmap.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, curBitmap.PixelFormat);
    ptr = bmpData.Scan0;
    System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes * 3);
    curBitmap.UnlockBits(bmpData);
    pictureBox1.Image = null;
    Invalidate();
     
    图 4.11 灰度级-彩色变换法的处理结果
    总结
    小结
    本次毕业设计,使用的是微软开发的C#软件,它简单、现代、通用,而且面向对象。通过学习,我基本掌握了C#的语法,了解了数字图像和数字图像处理的基本原理和分类,在对灰度处理和伪彩色处理进行深入的了解之后,我掌握了灰度处理和伪彩色处理的基本原理和算法。
    对于本文的中心图像处理技术——伪彩色处理,是图像处理中一个重要的分支。它处理的是灰度图像,得到的是彩色图像,但反映的并不是图像本身的色彩;它能够帮助人们更好的观察图像,突出细节。
    通过本次毕业设计,我深刻的了解到,无论是复杂还是简单的程序设计,都是基于理论研究的基础上的,就像要学会跑就必须先学会走是一样的。对于伪彩色处理的研究亦是如此,不仅要了解伪彩色处理的基本原理,还要了解图像处理的基本原理和方法;在编写程序时,还要有一个完整的设计思路,这样编写程序的时候,才会有条有序。
    展望
    随着数字计算机的出现,数字图像处理的历史渐渐地与数字计算机的发展联系了起来,因为计算机可以快速的完成很多我们很难完成的事情,我所研究的伪彩色处理便是其中之一。我所设计的程序,不仅可以对图像进行灰度处理和伪彩色处理,还可以对图像进行缩放、雾化、反色等基本的处理,这就使得软件的使用范围变得更广。但是,在程序的设计中,还有很多不足仍需要改进。同时,通过这次毕业设计,我也认识到自己存在很多的不足之处,我会一点一点的改正,努力的提高自己的水平,使自己在编程上更进一步。
  1. 上一篇:ASP.NET音像店租赁管理系统的设计与实现+ER图+流程图
  2. 下一篇:VF薄板厂能源数据库的设计+需求分析+文献综述
  1. 基于MATLAB的图像增强算法设计

  2. jsp+sqlserver高校二手商品交...

  3. 基于Kinect的手势跟踪与识别算法设计

  4. JAVA基于安卓平台的医疗护工管理系统设计

  5. java+mysql设备监控记录的大...

  6. 基于核独立元分析的非线...

  7. 基于Hadoop的制造过程大数据存储平台构建

  8. 酸性水汽提装置总汽提塔设计+CAD图纸

  9. 杂拟谷盗体内共生菌沃尔...

  10. 河岸冲刷和泥沙淤积的监测国内外研究现状

  11. 乳业同业并购式全产业链...

  12. 大众媒体对公共政策制定的影响

  13. java+mysql车辆管理系统的设计+源代码

  14. 当代大学生慈善意识研究+文献综述

  15. 十二层带中心支撑钢结构...

  16. 电站锅炉暖风器设计任务书

  17. 中考体育项目与体育教学合理结合的研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回