Introduction to Augmented Reality (AR) with Python 3 and OpenCV 4.2.

Overview

Augmented Reality 101

The development of areas such as computer vision, image processing, and computer graphics, allow the introduction of technologies such as Augmented Reality.

Azuma defines Augmented Reality as "a technology that adds computer-generated virtual content to real-world views through devices".

Introduction

The purpose of these map is to give you an idea about Augmented Reality and to guide you through the main features that surround this technology.

augmented reality by mafda

Read complete post in AR 101 — Augmented Reality.

Definition and basic features

augmented reality by mafda

Read complete post in AR 101 — A brief summary (Part 1).

Horizontal and vertical trends

augmented reality by mafda

Read complete post in AR 101 — Augmented Reality Trends (Part 2).

Basic process and main components

augmented reality by mafda

Read complete post in AR 101 — Components of the Augmented Reality System (Part 3).

Augmented Reality Application

In this repository, I want to present a basic implementation that projects on the screen a 3D model aligned (orientation and translation) to a predefined flat surface.

However, currently the industry is investing in different frameworks as ARCore, ARKit, and Vuforia, among others, which provide the community more accessible technologies with more realistic results and experiences.

The repository has two parts:

  1. Image is the implementation, step by step, with some basic definitions, to add a 3D model to a flat image.
  2. Video is the implementation to have the experience in real-time through a camera.

Instalation

git clone [email protected]:mafda/augmented_reality_101.git

Environment

The tools we will use are Python 3 and OpenCV 4.2.

  1. Create virtual environment:
python -m venv /path/to/new/virtual/environment
  1. Activate environment:
source /path/to/new/virtual/environment/bin/activate
  1. Install requirements.txt file:
pip install -r requirements.txt
  1. For Image
python -m jupyter notebook
  1. For Video
python ar_python3_opencv4.py

Model 3D

Results

augmented reality python3 opencv2

Repository References

Map References

  • Azuma, R. T. (1997). A survey of augmented reality. Presence: Teleoper. Virtual Environ., 6(4):355–385. Paper

  • Chatzopoulos, D., Bermejo, C., Huang, Z., and Hui, P. (2017). Mobile augmented reality survey: From where we are to where we go. IEEE Access, 5:6917–6950. Paper

  • Craig, A. (2013). Understanding Augmented Reality: Concepts and Applications. Elsevier Science, 1 edition. Book

  • Fleck, P., Arth, C., Pirchheim, C., and Schmalstieg, D. (2015). Tracking and mapping with a swarm of heterogeneous clients. In 2015 IEEE International Symposium on Mixed and Augmented Reality, pages 136–139. Paper

  • Huang, Z., Hui, P., Peylo, C., and Chatzopoulos, D. (2013). Mobile augmented reality survey: a bottom-up approach. CoRR. Paper

  • Lehiani, Y., Maidi, M., Preda, M., and Ghorbel, F. (2015). Object identification and tracking for steady registration in mobile augmented reality. In 2015 IEEE International Conference on Signal and Image Processing Applications (ICSIPA), pages 54–59. Paper

  • Ling, H. (2017). Augmented reality in reality. IEEE MultiMedia, 24(3):10–15. Paper

  • Papagiannis, H. (2017). Augmented Human: How Technology Is Shaping the New Reality. O’Reilly Media. Book

  • Peddie, J. (2017). Augmented Reality: Where We Will All Live. Springer International Publishing. Book

  • Roberto, R., Lima, J. P., and Teichrieb, V. (2016). Tracking for mobile devices: A systematic mapping study. Computers & Graphics, 56:20 – 30. Paper


made with 💙 by mafda

Owner
fernanda rodríguez
multimedia engineer. data scientist. front-end dev. phd candidate: augmented reality + machine learning.
fernanda rodríguez
A set of workflows for corpus building through OCR, post-correction and normalisation

PICCL: Philosophical Integrator of Computational and Corpus Libraries PICCL offers a workflow for corpus building and builds on a variety of tools. Th

Language Machines 41 Dec 27, 2022
Text-to-Image generation

Generate vivid Images for Any (Chinese) text CogView is a pretrained (4B-param) transformer for text-to-image generation in general domain. Read our p

THUDM 1.3k Jan 05, 2023
Document Image Dewarping

Document image dewarping using text-lines and line Segments Abstract Conventional text-line based document dewarping methods have problems when handli

Taeho Kil 268 Dec 23, 2022
A python script based on opencv and paddleocr, which can automatically pick up tasks, make cookies, and receive rewards in the Destiny 2 Dawning Oven

A python script based on opencv and paddleocr, which can automatically pick up tasks, make cookies, and receive rewards in the Destiny 2 Dawning Oven

1 Dec 22, 2021
A program that takes in the hand gesture displayed by the user and translates ASL.

Interactive-ASL-Recognition Using the framework mediapipe made by google, OpenCV library and through self teaching, I was able to create a program tha

Riddhi Bajaj 3 Nov 22, 2021
It is a image ocr tool using the Tesseract-OCR engine with the pytesseract package and has a GUI.

OCR-Tool It is a image ocr tool made in Python using the Tesseract-OCR engine with the pytesseract package and has a GUI. This is my second ever pytho

Khant Htet Aung 4 Jul 11, 2022
Regions sanitàries (RS), Sectors Sanitàris (SS) i Àrees Bàsiques de Salut (ABS) de Catalunya

Regions sanitàries (RS), Sectors Sanitaris (SS), Àrees de Gestió Assistencial (AGA) i Àrees Bàsiques de Salut (ABS) de Catalunya Fitxers GeoJSON de le

Glòria Macià Muñoz 2 Jan 23, 2022
Code for CVPR2021 paper "Learning Salient Boundary Feature for Anchor-free Temporal Action Localization"

AFSD: Learning Salient Boundary Feature for Anchor-free Temporal Action Localization This is an official implementation in PyTorch of AFSD. Our paper

Tencent YouTu Research 146 Dec 24, 2022
Detect textlines in document images

Textline Detection Detect textlines in document images Introduction This tool performs border, region and textline detection from document image data

QURATOR-SPK 70 Jun 30, 2022
MeshToGeotiff - A fast Python algorithm to convert a 3D mesh into a GeoTIFF

MeshToGeotiff - A fast Python algorithm to convert a 3D mesh into a GeoTIFF Python class for converting (very fast) 3D Meshes/Surfaces to Raster DEMs

8 Sep 10, 2022
This tool will help you convert your text to handwriting xD

So your teacher asked you to upload written assignments? Hate writing assigments? This tool will help you convert your text to handwriting xD

Saurabh Daware 4.2k Jan 07, 2023
Perspective recovery of text using transformed ellipses

unproject_text Perspective recovery of text using transformed ellipses. See full writeup at https://mzucker.github.io/2016/10/11/unprojecting-text-wit

Matt Zucker 111 Nov 13, 2022
TedEval: A Fair Evaluation Metric for Scene Text Detectors

TedEval: A Fair Evaluation Metric for Scene Text Detectors Official Python 3 implementation of TedEval | paper | slides Chae Young Lee, Youngmin Baek,

Clova AI Research 167 Nov 20, 2022
Train custom VR face tracking parameters

Pal Buddy Guy: The anipal's best friend This is a small script to improve upon the tracking capabilities of the Vive Pro Eye and facial tracker. You c

7 Dec 12, 2021
This repository lets you train neural networks models for performing end-to-end full-page handwriting recognition using the Apache MXNet deep learning frameworks on the IAM Dataset.

Handwritten Text Recognition (OCR) with MXNet Gluon These notebooks have been created by Jonathan Chung, as part of his internship as Applied Scientis

Amazon Web Services - Labs 422 Jan 03, 2023
A facial recognition device is a device that takes an image or a video of a human face and compares it to another image faces in a database.

A facial recognition device is a device that takes an image or a video of a human face and compares it to another image faces in a database. The structure, shape and proportions of the faces are comp

Pavankumar Khot 4 Mar 19, 2022
FastOCR is a desktop application for OCR API.

FastOCR FastOCR is a desktop application for OCR API. Installation Arch Linux fastocr-git @ AUR Build from AUR or install with your favorite AUR helpe

Bruce Zhang 58 Jan 07, 2023
Optical character recognition for Japanese text, with the main focus being Japanese manga

Manga OCR Optical character recognition for Japanese text, with the main focus being Japanese manga. It uses a custom end-to-end model built with Tran

Maciej Budyś 327 Jan 01, 2023
Rotational region detection based on Faster-RCNN.

R2CNN_Faster_RCNN_Tensorflow Abstract This is a tensorflow re-implementation of R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detecti

UCAS-Det 581 Nov 22, 2022
The code of "Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes"

Mask TextSpotter A Pytorch implementation of Mask TextSpotter along with its extension can be find here Introduction This is the official implementati

Pengyuan Lyu 261 Nov 21, 2022