彩色图像的分割处理程序设计+Hough算法(17)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

彩色图像的分割处理程序设计+Hough算法(17)


                            {
                                rgbValues[i * 3 + 2] = Convert.ToByte(kAver[j * 3 + 2]);
                                rgbValues[i * 3 + 1] = Convert.ToByte(kAver[j * 3 + 1]);
                                rgbValues[i * 3] = Convert.ToByte(kAver[j * 3]);
                            }
                        }
                    }

                    System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes * 3);
                    curBitmap.UnlockBits(bmpData);
                    Invalidate();
                }
            }
        }

4.2.2    Hough变换
 
图4.4  Hough变换原图
 
图4.5  Hough变换原图
左边是经过灰度拉伸后的Hough变换映射图像,两条最亮的弧线是由一个个点组成,每个点代表原图中的一条直线。
右边为根据左边图像进行Hough反变换后得到的图像。通过与原图相比,这些直线不仅能检测出来,而且位置也准确无误。    
以下为Hough变换处理代码:
  private void hough_Click_1(object sender, EventArgs e)
        {
            if (curBitmap != null)
            {
                hough houghtran = new hough(curBitmap);
                houghtran.ShowDialog();
            }
        }
   private void close_Click(object sender, EventArgs e)
        {
            this.Close();
        }
   private void hough_Paint(object sender, PaintEventArgs e)
        {
            Bitmap houghImage = new Bitmap(180, 180,
            System.Drawing.Imaging.PixelFormat.Format8bppIndexed);
            System.Drawing.Imaging.ColorPalette cp = houghImage.Palette;
            for (int i = 0; i < 256; i++) (责任编辑:qin)