AForge
'da Dikdörtgen İçindeki Daire'yi tespit etmeye çalışıyorum. Rectangles
'u başarıyla belirledim, ancak Rectangle
içinde circles
'u bulamadım. AForge
'da başka bir şekil içinde şekil nasıl bulunur. (- dikdörtgenler veya daireler gibi intrest bölgesini ROI)AForge İçinde Dikdörtgen İçinde Daire Bulmak
string strPath = Server.MapPath("~/Recipt001.png");
Bitmap myBitmap = new Bitmap(strPath);
//Some filters Grayscale, invert, threshold
//Blod Filtering
BlobCounter blobCounter = new BlobCounter();
blobCounter.ProcessImage(temp);
blobCounter.ObjectsOrder = ObjectsOrder.YX;
blobCounter.FilterBlobs = true;
Blob[] blobs = blobCounter.GetObjectsInformation();
Graphics g = Graphics.FromImage(myBitmap);
Pen redPen = new Pen(Color.Red, 2);
SimpleShapeChecker shapeChecker = new SimpleShapeChecker();
// dictionary of color to highlight different shapes
Dictionary<PolygonSubType, Color> colors = new Dictionary<PolygonSubType, Color>();
colors.Add(PolygonSubType.Unknown, Color.White);
colors.Add(PolygonSubType.Trapezoid, Color.Orange);
colors.Add(PolygonSubType.Parallelogram, Color.Red);
colors.Add(PolygonSubType.Rectangle, Color.Green);
colors.Add(PolygonSubType.Square, Color.Blue);
colors.Add(PolygonSubType.Rhombus, Color.Gray);
colors.Add(PolygonSubType.EquilateralTriangle, Color.Pink);
colors.Add(PolygonSubType.IsoscelesTriangle, Color.Purple);
colors.Add(PolygonSubType.RectangledTriangle, Color.SkyBlue);
colors.Add(PolygonSubType.RectangledIsoscelesTriangle, Color.SeaGreen);
for (int i = 0, n = blobs.Length; i < n; i++)
{
List<IntPoint> corners;
List<IntPoint> edgePoints = blobCounter.GetBlobsEdgePoints(blobs[i]);
Point center;
double radius;
if (shapeChecker.IsQuadrilateral(edgePoints, out corners))
{
if (shapeChecker.CheckPolygonSubType(corners) == PolygonSubType.Rectangle)
{
g.DrawPolygon(redPen, ToPointsArray(corners));
}
}
}
redPen.Dispose();
g.Dispose();
Bir dairenin çevresinde köşeleri olan bir kare yapmaya çalışıyorsunuz gibi görünüyor. Çember daha sonra meydanın dışına çıkacak ve karenin iç tarafında olacak daireye ihtiyacınız olacak. – jdweng
@jdweng Hayır, dikdörtgenler tanıdım. Şimdi bu dikdörtgenlerin içlerinde daireler var. Şimdi bu çemberleri dikdörtgen içine almak istiyorum. –
(jdweng) Sadece test amaçlı olarak tespit edilen dikdörtgenler üzerinde çokgen var. Şimdi bu şekiller içlerinde daireler var. –