public bool ExtractCircle(HImage hImage, double centerX, double centerY, double innerCircleRadius,
                              double outerCircleRadius,
                              out Circle foundCircle, out double roundness,
                              int regionsCount,
                              //                                  int regionHeight,
                              int regionWidth,
                              double sigma, double threshold, SelectionMode selectionMode, Transition transition,
                              CircleDirect direct)
    {
        try
        {
            HTuple centerX2, centerY2, radius, roundness2;
            SpokeCircle(hImage, centerY, centerX, outerCircleRadius, innerCircleRadius,
                        regionsCount, regionWidth,
                        sigma, threshold,
                        transition.ToHalconString(),
                        selectionMode.ToHalconString(),
                        direct.ToHalconString(),
                        out centerY2, out centerX2, out radius, out roundness2);

            foundCircle = new Circle(centerX2, centerY2, radius);
            //roundness = roundness2;
            roundness = 0;
            return(true);
        }
        catch (HOperatorException e)
        {
            foundCircle = new Circle();
            roundness   = 0;
            return(false);
        }
    }
Exemple #2
0
        public static string ToHalconString(this CircleDirect selectionMode)
        {
            string selectionModeString = null;

            switch (selectionMode)
            {
            case CircleDirect.Inner:
                selectionModeString = "inner";
                break;

            case CircleDirect.Outer:
                selectionModeString = "outer";
                break;
            }

            return(selectionModeString);
        }