示例#1
0
        public MarkerResult[] FindMarkers(Bitmap image)
        {
            Image <Bgr, byte> openCVImage = new Image <Bgr, byte>(image);

            Dictionary.PredefinedDictionaryName name = new Dictionary.PredefinedDictionaryName();
            Dictionary             Dict       = new Dictionary(name);
            VectorOfVectorOfPointF Corners    = new VectorOfVectorOfPointF();
            VectorOfInt            Ids        = new VectorOfInt();
            DetectorParameters     Parameters = DetectorParameters.GetDefault();

            VectorOfVectorOfPointF Rejected = new VectorOfVectorOfPointF();

            ArucoInvoke.DetectMarkers(openCVImage, Dict, Corners, Ids, Parameters, Rejected);

            var markers = new MarkerResult[Corners.Size];

            for (int i = 0; i < Corners.Size; i++)
            {
                var markerCorners = new Vector2[4];

                for (int y = 0; y < 4; y++)
                {
                    markerCorners[y] = new Vector2(Corners[i][y].X, Corners[i][y].Y);
                }

                markers[i] = new MarkerResult(Ids[i], markerCorners);
            }

            return(markers);
        }
示例#2
0
 internal static extern IntPtr cveArucoGetPredefinedDictionary(Dictionary.PredefinedDictionaryName name, ref IntPtr sharedPtr);
示例#3
0
 internal static extern IntPtr cveArucoGetPredefinedDictionary(Dictionary.PredefinedDictionaryName name);