{"id":20639065,"url":"https://github.com/korniichuk/multiple-object-detection","last_synced_at":"2026-05-17T04:35:34.095Z","repository":{"id":95418933,"uuid":"183805214","full_name":"korniichuk/multiple-object-detection","owner":"korniichuk","description":"Multiple object detection with scale based on OpenCV Python library","archived":false,"fork":false,"pushed_at":"2019-05-09T16:21:07.000Z","size":805,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T09:53:10.220Z","etag":null,"topics":["opencv","python","python-3","python3"],"latest_commit_sha":null,"homepage":"http://www.korniichuk.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/korniichuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-27T17:56:48.000Z","updated_at":"2019-12-03T19:50:30.000Z","dependencies_parsed_at":"2023-03-08T13:45:23.829Z","dependency_job_id":null,"html_url":"https://github.com/korniichuk/multiple-object-detection","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/korniichuk/multiple-object-detection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korniichuk%2Fmultiple-object-detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korniichuk%2Fmultiple-object-detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korniichuk%2Fmultiple-object-detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korniichuk%2Fmultiple-object-detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/korniichuk","download_url":"https://codeload.github.com/korniichuk/multiple-object-detection/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korniichuk%2Fmultiple-object-detection/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259718016,"owners_count":22901176,"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","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":["opencv","python","python-3","python3"],"created_at":"2024-11-16T15:22:13.910Z","updated_at":"2026-05-17T04:35:29.076Z","avatar_url":"https://github.com/korniichuk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# multiple-object-detection\n**Name:** multiple-object-detection  \n**Description:** Multiple object detection with scale based on OpenCV Python library  \n**GitHub:** [https://github.com/korniichuk/multiple-object-detection](https://github.com/korniichuk/multiple-object-detection)\n\n## Table of Contents\n* **[Introduction](#introduction)**\n* **[Theory](#theory)**\n    * **[What is template matching](#what-is-template-matching)**\n    * **[How does it work](#how-does-it-work)**\n* **[Portability](#portability)**\n* **[Requirements](#requirements)**\n    * **[Ubuntu Desktop](#ubuntu-desktop)**\n* **[Python lib versions](#python-lib-versions)**\n\n## Introduction\nMultiple detection of **Twitter logo** in example source image:\n\n![match_twitter.jpg](img/match_twitter.jpg)\n\nMultiple detection of **Instagram logo** in example source image:\n\n![match_instagram.jpg](img/match_instagram.jpg)\n\n## Theory\n### What is template matching\n**Template matching** is a technique for finding areas of an image that match (are similar) to a template image (patch).\n\n### How does it work\nWe need two primary components:\n\n* source image -- image in which we expect to find a match to the template image;\n* template -- patch image which will be compared to the template image.\n\nGoal is to detect the highest matching area. To identify the matching area, we have to compare the template image against the source image by sliding it.\n\nBy sliding, we mean moving the patch one pixel at a time (left to right, up to down). At each location, a metric is calculated so it represents how 'good' or 'bad' the match at that location is (or how similar the patch is to that particular area of the source image).\n\nFor each location of template over source image, we store the metric in the result matrix. Each location (x, y) in result matrix contains the match metric.\n\n## Portability\n`multiple-object-detection` checked on Ubuntu Desktop 18.04 LTS.\n\n## Requirements\n### Ubuntu Desktop\nPlease, install `python3-pil.imagetk` and `python3-tk` packages:\n```\n$ sudo apt-get update\n$ sudo apt-get install python3-pil.imagetk python3-tk\n```\n\nInstall Python packages:\n```\n$ sudo pip install -r requirements.txt\n```\n\nor\n```\n$ pipenv install\n```\n\n## Python lib versions\n* [imutils](https://pypi.org/project/imutils/) ver. 0.5.2\n* [numpy](https://pypi.org/project/numpy/) ver. 1.16.3\n* [opencv-python](https://pypi.org/project/opencv-python/) ver. 4.1.0.25\n* [tkinter](https://tkdocs.com/) ver. 8.6\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorniichuk%2Fmultiple-object-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkorniichuk%2Fmultiple-object-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorniichuk%2Fmultiple-object-detection/lists"}