Exemplo n.º 1
0
        public float loadGlimpseSentience(robot rob, String path, String TrackName, String track, int distance_index, int pathPoints, String index)
        {
            float matching_score = 0;

            Byte[] left_bmp  = null;
            Byte[] right_bmp = null;
            String image_filename;
            bool   mapping = true;

            if (index != "M")
            {
                mapping = false;
            }

            int  stereo_cam_index = 0;
            bool left_camera      = true;

            for (int i = 0; i < rob.head.no_of_cameras * 2; i++)
            {
                if (left_camera)
                {
                    image_filename = path + TrackName + "_left_" + Convert.ToString(distance_index + (stereo_cam_index * pathPoints)) + ".bmp";
                    if (!File.Exists(image_filename))
                    {
                        errorMessage = image_filename + " not found";
                    }
                    rob.head.imageFilename[i] = image_filename;
                    left_bmp = util.loadFromBitmap(image_filename, rob.head.image_width, rob.head.image_height, 3);
                }
                else
                {
                    image_filename = path + TrackName + "_right_" + Convert.ToString(distance_index + (stereo_cam_index * pathPoints)) + ".bmp";
                    if (!File.Exists(image_filename))
                    {
                        errorMessage = image_filename + " not found";
                    }
                    rob.head.imageFilename[i] = image_filename;
                    right_bmp       = util.loadFromBitmap(image_filename, rob.head.image_width, rob.head.image_height, 3);
                    matching_score += rob.loadRectifiedImages(stereo_cam_index, left_bmp, right_bmp, 3, mapping);

                    // store images and features for later display
                    if (stereo_cam_index == 0)
                    {
                        image_filenames_stereoCamera0.Add(rob.head.imageFilename[i - 1]);
                        image_filenames_stereoCamera0.Add(rob.head.imageFilename[i]);
                        features_stereoCamera0.Add(rob.head.features[stereo_cam_index]);
                    }
                    else
                    {
                        image_filenames_stereoCamera1.Add(rob.head.imageFilename[i - 1]);
                        image_filenames_stereoCamera1.Add(rob.head.imageFilename[i]);
                        features_stereoCamera1.Add(rob.head.features[stereo_cam_index]);
                    }

                    stereo_cam_index++;
                }
                left_camera = !left_camera;
            }

            return(matching_score);
        }