Ejemplo n.º 1
0
        async Task ExecuteFindSimilarFaces(FindSimilarMatchMode matchMode, int gridViewResourceId)
        {
            List <SimilarFaceResult> results = null;

            try
            {
                AddLog($"Request: Find {matchMode.ToString ()} similar faces to {targetFaceListAdapter.SelectedFace.Id} in {faceListAdapter.Count} face(s)");
                progressDialog.Show();
                progressDialog.SetMessage("Finding Similar Faces...");
                SetInfo("Finding Similar Faces...");

                results = await FaceClient.Shared.FindSimilar(targetFaceListAdapter.SelectedFace, faceListAdapter.Faces, 4 /*max candidates*/, matchMode);

                var resultString = $"Found {results?.Count ?? 0} {matchMode} similar face{(results?.Count != 1 ? "s" : "")}";
                AddLog("Response: Success. " + resultString);
                AppendInfo(resultString);
            }
            catch (Exception e)
            {
                AddLog(e.Message);
            }

            progressDialog.Dismiss();

            // Show the result of face finding similar faces.
            var similarFaces = FindViewById <GridView> (gridViewResourceId);

            similarFaceListAdapter = new SimilarFaceListAdapter(results, faceListAdapter);
            similarFaces.Adapter   = similarFaceListAdapter;
        }
        private void SetUiAfterFindFacialSimilarFaces(SimilarFace[] result)
        {
            mProgressDialog.Dismiss();

            SetAllButtonsEnabledStatus(true);

            // Show the result of face finding similar faces.
            GridView similarFaces = (GridView)FindViewById(Resource.Id.facial_similar_faces);

            mSimilarFaceListAdapter = new SimilarFaceListAdapter(result, this);
            similarFaces.Adapter    = mSimilarFaceListAdapter;
        }
Ejemplo n.º 3
0
        public void OnItemClick(AdapterView parent, View view, int position, long id)
        {
            if (targetFaceListAdapter.SelectedFace != targetFaceListAdapter [position])
            {
                targetFaceListAdapter.SetSelectedIndex(position);

                var imageView = FindViewById <ImageView> (Resource.Id.image);
                imageView.SetImageBitmap(targetFaceListAdapter.GetThumbnailForPosition(position));

                // Clear the result of finding similar faces.
                var similarFaces = FindViewById <GridView> (Resource.Id.similar_faces);
                similarFaceListAdapter = new SimilarFaceListAdapter(null, null);
                similarFaces.Adapter   = similarFaceListAdapter;

                similarFaces           = FindViewById <GridView> (Resource.Id.facial_similar_faces);
                similarFaceListAdapter = new SimilarFaceListAdapter(null, null);
                similarFaces.Adapter   = similarFaceListAdapter;

                SetInfo("");
            }
        }