2014-02-26 128 views
2

你好, 我是新的C#用戶,我搜索了在blob上繪製橢圓的簡單方法,中心是blob中心。 首先,我使用OpenCvSharp.Blob名稱空間,但我無法獲得中心。我也使用了Emu.CV和Aforge.Net,但該中心並未實現。 哪個庫可以以X,Y的形式獲取中心? 感謝在blob的中心繪製橢圓

我用這個代碼,但也得到錯誤的中心:

foreach (Blob blob in blobs) 
      { 
       //Bitmap bitmap = (Bitmap)picConnComp.Image; 
       //Graphics g = Graphics.FromImage(bitmap); 
       Pen redPen = new Pen(Color.Red, 2); 
       if (blob.Rectangle.Width > 50) 
       { 

        // the blob looks interesting, let's extract it 
        g.DrawEllipse(redPen, 
       (float)(blob.CenterOfGravity.X), (float)(blob.CenterOfGravity.Y), 
       (float)(blob.Image.Width/2), (float)(blob.Image.Height/2)); 
       } 
+0

請參閱OpenCV文檔[Creating Boun ding旋轉框和橢圓輪廓](http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/bounding_rotated_ellipses/bounding_rotated_ellipses.html)可能會有所幫助。 – Haris

回答

0

如果使用AForge.NET框架,你可以直接從BLOB得到矩形如下:

Rectangle rect = blob.Rectangle; 

之後,您可以畫出這樣的blobs橢圓的大小:

...  
g1.DrawEllipse(redPen, rect); 
...