コード例 #1
0
        public IEnumerable <FrameHashBase> GetAllFrameHashes(EnumFramingMode mode)
        {
            using var context = VideoIndexingDbContext.Create();

            var query = from frameHash in context.FrameHashes
                        where frameHash.Discriminator == mode
                        select frameHash;

            return(query.ToList());
        }
コード例 #2
0
ファイル: Engine.cs プロジェクト: Omar-Bsoul/Features-Finder
        public IEnumerable <SimilarityInfo> FindSimilarVideos(EnumFramingMode mode, Concept concept)
        {
            var concepts = conceptProcessor.BuildConceptsFromFrameHashes(mode);

            return(concepts.SelectMany(builtConcept => conceptProcessor.CompareConcepts(concept, builtConcept))
                   .GroupBy(similarity => similarity.Original.VideoId)
                   .Select(groupedSimilarity => groupedSimilarity.OrderByDescending(similarity => similarity.Similarity).First())
                   .OrderByDescending(similarity => similarity.Similarity)
                   .Take(SimilarityThreshold)
                   .ToImmutableList());
        }
コード例 #3
0
        public IEnumerable <Concept> BuildConceptsFromFrameHashes(EnumFramingMode mode)
        {
            var frameHashes = frameHashesQueries.GetAllFrameHashes(mode);

            var parsedFrames = ParseFrameHashesIntoFrames(frameHashes);

            var concepts = parsedFrames.Item1;
            var videos   = parsedFrames.Item2;
            var frames   = parsedFrames.Item3;
            var hashes   = parsedFrames.Item4;

            return(BuildConceptsFromParsedFrames(concepts, videos, frames, hashes));
        }