Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public string loadImage()
- {
- OpenFileDialog ofd = new OpenFileDialog();
- ofd.ShowDialog();
- String s = ofd.FileName.Normalize();
- return s;
- }
- public void processImage()
- {
- String s = loadImage();
- Image<Gray, Byte> img = new Image<Gray, byte>(s);
- Console.WriteLine("read file @" + s);
- Image<Gray, Byte> tinyGrayImg = img.Resize(0.25, INTER.CV_INTER_NN);
- CvInvoke.cvShowImage("original gray", tinyGrayImg);
- Console.WriteLine("converted " + s + " to grayscale");
- Image<Gray, Byte> canny = new Image<Gray, byte>(CvInvoke.cvGetSize(tinyGrayImg));
- CvInvoke.cvCanny(tinyGrayImg, canny, 97, 225, 3);
- CvInvoke.cvShowImage("canny", canny);
- Console.WriteLine("applied Canny to " + s);
- try
- {
- MemStorage mem = new MemStorage();
- Image<Bgr, byte> linesImg = canny.Convert<Bgr, byte>();
- IntPtr lines = CvInvoke.cvHoughLines2(canny, mem.Ptr, HOUGH_TYPE.CV_HOUGH_PROBABILISTIC, 1, Math.PI / 180, 70, 30, 10);
- Seq<LineSegment2D> segments = new Seq<LineSegment2D>(lines, mem);
- LineSegment2D[] segArray = segments.ToArray();
- for (int i = 0; i < segArray.Length; i++)
- {
- linesImg.Draw(segArray[i], new Bgr(Color.Red), 1);
- }
- CvInvoke.cvShowImage("lines", linesImg);
- }
- catch (Exception e)
- {
- MessageBox.Show(e.Message);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement