{"id":15903632,"url":"https://github.com/vfdev-5/dobblegamevision","last_synced_at":"2025-10-08T19:45:46.706Z","repository":{"id":34460376,"uuid":"38396370","full_name":"vfdev-5/DobbleGameVision","owner":"vfdev-5","description":"Computer vision for \"Dobble\" game","archived":false,"fork":false,"pushed_at":"2016-03-15T16:59:39.000Z","size":13839,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T20:16:01.369Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vfdev-5.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-01T21:36:57.000Z","updated_at":"2016-03-15T16:59:41.000Z","dependencies_parsed_at":"2022-07-28T21:08:58.952Z","dependency_job_id":null,"html_url":"https://github.com/vfdev-5/DobbleGameVision","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vfdev-5/DobbleGameVision","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FDobbleGameVision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FDobbleGameVision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FDobbleGameVision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FDobbleGameVision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vfdev-5","download_url":"https://codeload.github.com/vfdev-5/DobbleGameVision/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FDobbleGameVision/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000701,"owners_count":26082806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T12:03:27.200Z","updated_at":"2025-10-08T19:45:46.667Z","avatar_url":"https://github.com/vfdev-5.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Computer vision for 'Dobble' game\n\nIdea : Support player with computer vision system to recognize and compare objects on the cards\n\n\u003cimg src=\"https://github.com/vfdev-5/DoubleGameVision/blob/master/Data/Test/jeudobble.jpg\" width=\"250\"/\u003e\n\n\n### Algorithm (08/09/2015) :\n    1) Detect cards on the image\n        a) Simplify image (i.g. low-band pass filtering, median blur, etc)\n        b) Derivate -\u003e Threhold -\u003e Morpho -\u003e Find contours\n        c) Select contours by size and length/surface ratio\n    2) 'Unify' size of detected cards\n        a) Resize all detected cards to a unique size\n    3) Extract and match objects between any two cards\n        a) Loop on cards taking two different cards\n        b) For each card extract objects\n            1) Median blur -\u003e Canny -\u003e Morpho -\u003e Find contours\n            2) Select contours :\n               a) bounding rect of the contour larger min area and smaller 1/4 of card size\n               b) distance between center of the contour and the card center is smaller than card radius\n               c) max dimension of contour is smaller than card radius\n               d) contour brect should not touch (+/- 1 pixel) image boundaries\n        c) Extract keypoints and descriptors for the reference object of the card one\n            1) Feature extraction uses AKAZE algorithm: http://docs.opencv.org/master/d8/d30/classcv_1_1AKAZE.html\n                Pablo F Alcantarilla, Jesús Nuevo, and Adrien Bartoli. Fast explicit diffusion for accelerated\n                features in nonlinear scale spaces. Trans. Pattern Anal. Machine Intell, 34(7):1281–1298, 2011.\n        d) Extract keypoints and descriptors for a test object of the card two\n        e) Match keypoints and select matched keypoints\n        f) Decide whether objects match and continue the loop\n\n\nProblems :\n\n    1) Card contours are too weak -\u003e no card detection\n        - weak card contours, strong small contours\n        - weak card contours are neglected on threshold\n\n        =\u003e Use a generic method to extract cards or objects\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvfdev-5%2Fdobblegamevision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvfdev-5%2Fdobblegamevision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvfdev-5%2Fdobblegamevision/lists"}