# meiqua/shape_based_matching

try to implement halcon shape based matching, refer to machine vision algorithms and applications, page 317 3.11.5, written by halcon engineers

Repository: https://github.com/meiqua/shape_based_matching
Canonical: https://ross.abutalabs.com/products/shape_based_matching
Language: C++
License: BSD-2-Clause
License Family: permissive
Topics: shape-based, shape, based, matching, linemod, opencv, halcon
Last push: 2024-07-16T04:27:57+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 2977, "days_push": 778, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1500, forks 549 (observed 2026-08-28T04:04:54.220170+00:00)

## What it is
A C++ library implementing Halcon-style shape-based matching (equivalent to LINE-MOD) using gradient orientation templates for robust 2D object detection and pose estimation. It improves on OpenCV's linemod with more features per template, SIMD acceleration, scale/rotation handling, and optional ICP-based subpixel pose refinement.

## Use cases
- find a template object in a cluttered image by shape
- industrial part detection with rotation and scale invariance
- estimate object angle and position to subpixel accuracy
- replace expensive Halcon shape-based matching with open source
- detect textureless objects using gradient orientation matching
- match thousands of rotated templates in real time

## When to choose
- you need Halcon-like shape matching without licensing costs
- you need fast template matching robust to lighting and clutter
- you need precise 2D pose (angle/position) estimation for industrial vision

## When to avoid
- you need 3D object detection or depth-based matching
- you need deep-learning-based detection for highly variable objects
- your project requires Python-only tooling without C++ builds

## Facets
- artifact type: library
- maturity: active
- function: computer-vision, image-processing, machine-learning
- domain: computer-vision, image-processing
- platform: cpp, windows
- tags: shape-based-matching, linemod, halcon, template-matching, opencv, industrial-vision, object-detection, pose-estimation, industrial-automation, linux, macos

## Member repositories
- meiqua/shape_based_matching (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:54.220170+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:33:00.437022+00:00, confidence not recorded.
  - readme: https://github.com/meiqua/shape_based_matching (fetched 2026-08-28T04:04:54.220170+00:00, sha 3de54b34ee1b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
