git404hub

what is cctv-inverse-perspective-mapping fr?

duy-phamduc68/cctv-inverse-perspective-mapping — explained in plain English

Analysis updated 2026-05-18

0PythonAudience · researcherComplexity · 3/5Setup · moderate

tl;dr

A Python calibration tool that maps angled traffic camera footage onto a flat, top-down satellite view.

vibe map

mindmap
  root((CCTV IPM))
    What it does
      Camera to map alignment
      Inverse perspective mapping
      Two way projection
    Tech stack
      Python
      PyQt5
    Use cases
      Traffic camera calibration
      Distortion correction
      TrafficLab 3D pipeline
    Audience
      Traffic researchers
      Computer vision developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Calibrate a traffic camera so its footage aligns with a satellite map.

VIBE 2

Convert coordinates between a camera frame and real-world map positions using G-projection files.

VIBE 3

Correct lens distortion and parallax in fixed traffic camera setups.

VIBE 4

Feed calibration output into the larger TrafficLab 3D project pipeline.

what's the stack?

PythonPyQt5

how it stacks up fr

duy-phamduc68/cctv-inverse-perspective-mapping0xhassaan/nn-from-scratch3ks/embedoc
Stars00
LanguagePythonPythonPython
Last pushed2023-06-08
MaintenanceDormant
Setup difficultymoderatemoderatehard
Complexity3/54/51/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 1h+

Calibration is largely manual and requires PyQt5 for the graphical interface.

in plain english

This is a calibration tool for aligning traffic camera footage with satellite imagery. The specific technique it uses is called Inverse Perspective Mapping, a way of mathematically transforming a camera's angled, ground-level view into a flat, top-down perspective that matches a satellite or map image. Once calibrated, the tool creates a two-way projection: you can convert a point in the camera frame to its location on the map, and the other way around. The tool handles common camera issues such as lens distortion and parallax, the way nearby objects appear to shift more than distant ones as the camera moves. It outputs the calibration results, including distortion correction data, homography matrices, camera pose, and scale, as reusable JSON files, which the author refers to as G-projection files. These can then be used by other software in the same project pipeline. This module was extracted from a larger project called TrafficLab 3D and published as a standalone repo so that the calibration process can be improved over time. Currently the workflow is largely manual. The tool is written in Python and uses PyQt5 for its graphical interface. It is intended for researchers or developers working on traffic analysis who need to map camera footage onto real-world coordinates. A companion blog post and a guide video covering the broader TrafficLab 3D project are linked in the README.

prompts (copy fr)

prompt 1
Explain what a G-projection JSON file contains and how it is used in this project.
prompt 2
Walk me through calibrating a traffic camera with this Inverse Perspective Mapping tool.
prompt 3
Show me how homography and camera pose are calculated in this codebase.
prompt 4
Help me automate the currently manual calibration workflow in this tool.

Frequently asked questions

what is cctv-inverse-perspective-mapping fr?

A Python calibration tool that maps angled traffic camera footage onto a flat, top-down satellite view.

What language is cctv-inverse-perspective-mapping written in?

Mainly Python. The stack also includes Python, PyQt5.

How hard is cctv-inverse-perspective-mapping to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is cctv-inverse-perspective-mapping for?

Mainly researcher.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.