图4.3  “彩色图像K-均值聚类分割”结果
以下为“K-均值聚类”处理代码如下:
        private void button1_Click(object sender, EventArgs e)
        {
            if (curBitmap != null)
            {
                segColor segmentationC = new segColor();
                if (segmentationC.ShowDialog() == DialogResult.OK)
                {
                    Rectangle rect = new Rectangle(0, 0, curBitmap.Width, curBitmap.Height);
                    System.Drawing.Imaging.BitmapData bmpData = curBitmap.LockBits(rect,  
                    System.Drawing.Imaging.ImageLockMode.ReadWrite,
                    curBitmap.PixelFormat);
                    IntPtr ptr = bmpData.Scan0;
                    int bytes = curBitmap.Width * curBitmap.Height;
                    byte[] rgbValues = new byte[bytes * 3];
                    System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes * 3);

                    byte numbers = segmentationC.GetNum;

                    int[] kNum = new int[numbers];
                    int[] kAver = new int[numbers * 3];
                    int[] kOldAver = new int[numbers * 3];
                    int[] kSum = new int[numbers * 3];
                    double[] kTemp = new double[numbers];
                    byte[] segmentMap = new byte[bytes * 3];
                    //初始化聚类均值
                    for (int i = 0; i < numbers; i++)
                    {

                        kAver[i * 3 + 2] = kOldAver[i * 3 + 2] = Convert.ToInt16(i * 255 /
                        (numbers - 1));
上一篇:ASP.net+sqlserver在线考试管理系统设计与实现
下一篇:Linux服务器数据安全方案的设计与实现

Android手机考勤平台的设计与实现

基于android的环境信息管理系统设计

java+mysql班级评优系统的设计实现

Python+mysql宠物领养平台的设计与实现

ASP.NET飞翔租贷汽车公司信...

基于激光超声检测金属材...

多频激励下典型非线性系统的振动特性研究

STC89C52单片机NRF24L01的无线病房呼叫系统设计

提高教育质量,构建大學生...

酵母菌发酵生产天然香料...

浅谈高校行政管理人员的...

上海居民的社会参与研究

浅论职工思想政治工作茬...

AES算法GPU协处理下分组加...

压疮高危人群的标准化中...

基于Joomla平台的计算机学院网站设计与开发

从政策角度谈黑龙江對俄...