Advertisement
Guest User

Untitled

a guest
Sep 30th, 2013
375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.64 KB | None | 0 0
  1.  public string loadImage()
  2.         {
  3.             OpenFileDialog ofd = new OpenFileDialog();
  4.             ofd.ShowDialog();
  5.             String s = ofd.FileName.Normalize();
  6.             return s;
  7.         }
  8.  
  9. public void processImage()
  10.         {
  11.             String s = loadImage();
  12.             Image<Gray, Byte> img = new Image<Gray, byte>(s);
  13.             Console.WriteLine("read file @" + s);
  14.  
  15.             Image<Gray, Byte> tinyGrayImg = img.Resize(0.25, INTER.CV_INTER_NN);
  16.             CvInvoke.cvShowImage("original gray", tinyGrayImg);
  17.             Console.WriteLine("converted " + s + " to grayscale");
  18.  
  19.             Image<Gray, Byte> canny = new Image<Gray, byte>(CvInvoke.cvGetSize(tinyGrayImg));
  20.             CvInvoke.cvCanny(tinyGrayImg, canny, 97, 225, 3);
  21.             CvInvoke.cvShowImage("canny", canny);
  22.             Console.WriteLine("applied Canny to " + s);
  23.  
  24.             try
  25.             {
  26.                 MemStorage mem = new MemStorage();
  27.                 Image<Bgr, byte> linesImg = canny.Convert<Bgr, byte>();
  28.                 IntPtr lines = CvInvoke.cvHoughLines2(canny, mem.Ptr, HOUGH_TYPE.CV_HOUGH_PROBABILISTIC, 1, Math.PI /   180, 70, 30, 10);
  29.                 Seq<LineSegment2D> segments = new Seq<LineSegment2D>(lines, mem);
  30.                 LineSegment2D[] segArray = segments.ToArray();
  31.  
  32.                 for (int i = 0; i < segArray.Length; i++)
  33.                 {
  34.                     linesImg.Draw(segArray[i], new Bgr(Color.Red), 1);
  35.                 }
  36.                 CvInvoke.cvShowImage("lines", linesImg);
  37.             }
  38.             catch (Exception e)
  39.             {
  40.                 MessageBox.Show(e.Message);
  41.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement