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
Pixie - A full-featured 2D graphics library for Python

Pixie - A full-featured 2D graphics library for Python Pixie is a 2D graphics library similar to Cairo and Skia. pip install pixie-python Features: Ty

treeform 65 Dec 30, 2022
Opencv-image-filters - A camera to capture videos in real time by placing filters using Python with the help of the Tkinter and OpenCV libraries

Opencv-image-filters - A camera to capture videos in real time by placing filters using Python with the help of the Tkinter and OpenCV libraries

Sergio Díaz Fernández 1 Jan 13, 2022
This is a GUI for scrapping PDFs with the help of optical character recognition making easier than ever to scrape PDFs.

pdf-scraper-with-ocr With this tool I am aiming to facilitate the work of those who need to scrape PDFs either by hand or using tools that doesn't imp

Jacobo José Guijarro Villalba 75 Oct 21, 2022
This is the implementation of the paper "Gated Recurrent Convolution Neural Network for OCR"

Gated Recurrent Convolution Neural Network for OCR This project is an implementation of the GRCNN for OCR. For details, please refer to the paper: htt

90 Dec 22, 2022
Opencv face recognition desktop application

Opencv-Face-Recognition Opencv face recognition desktop application Program developed by Gustavo Wydler Azuaga - 2021-11-19 Screenshots of the program

Gus 1 Nov 19, 2021
Maze generator and solver with python

Procedural-Maze-Generator-Algorithms Check out my youtube channel : Auctux Ressources Thanks to Jamis Buck Book : Mazes for programmers Requirements P

Joseph 19 Dec 07, 2022
A fastai/PyTorch package for unpaired image-to-image translation.

Unpaired image-to-image translation A fastai/PyTorch package for unpaired image-to-image translation currently with CycleGAN implementation. This is a

Tanishq Abraham 120 Dec 02, 2022
OCR software for recognition of handwritten text

Handwriting OCR The project tries to create software for recognition of a handwritten text from photos (also for Czech language). It uses computer vis

Břetislav Hájek 562 Jan 03, 2023
Generate a list of papers with publicly available source code in the daily arxiv

2021-06-08 paper code optimal network slicing for service-oriented networks with flexible routing and guaranteed e2e latency networkslicing multi-moda

79 Jan 03, 2023
Code for AAAI 2021 paper: Sequential End-to-end Network for Efficient Person Search

This repository hosts the source code of our paper: [AAAI 2021]Sequential End-to-end Network for Efficient Person Search. SeqNet achieves the state-of

Zj Li 218 Dec 31, 2022
Document Layout Analysis Projects

Layout_Analysis Introduction This is an implementation of RLSA and X-Y Cut with OpenCV Dependencies OpenCV 3.0+ How to use Compile with g++ : g++ -std

22 Dec 08, 2022
This is a project to detect gestures to zoom in or out, using the real-time distance between the index finger and the thumb. It's based on OpenCV and Mediapipe.

Pinch-zoom This is a python project based on real-time hand-gesture detection, to zoom in or out, using the distance between the index finger and the

Harshit Bhalla 6 Jul 11, 2022
Detect handwritten words in a text-line (classic image processing method).

Word segmentation Implementation of scale space technique for word segmentation as proposed by R. Manmatha and N. Srimal. Even though the paper is fro

Harald Scheidl 190 Jan 03, 2023
A Tensorflow model for text recognition (CNN + seq2seq with visual attention) available as a Python package and compatible with Google Cloud ML Engine.

Attention-based OCR Visual attention-based OCR model for image recognition with additional tools for creating TFRecords datasets and exporting the tra

Ed Medvedev 933 Dec 29, 2022
Brief idea about our project is mentioned in project presentation file.

Brief idea about our project is mentioned in project presentation file. You just have to run attendance.py file in your suitable IDE but we prefer jupyter lab.

Dhruv ;-) 3 Mar 20, 2022
Text modding tools for FF7R (Final Fantasy VII Remake)

FF7R_text_mod_tools Subtitle modding tools for FF7R (Final Fantasy VII Remake) There are 3 tools I made. make_dualsub_mod.exe: Merges (or swaps) subti

10 Dec 19, 2022
Convert Text-to Handwriting Using Python

Convert Text-to Handwriting Using Python Description In this project we'll use python library that's "pywhatkit" for converting text to handwriting. t

8 Nov 19, 2022
A python program to block out your face

Readme This is a small program I threw together in about 6 hours to block out your face. It probably doesn't work very well, so be warned. By default,

1 Oct 17, 2021
QED-C: The Quantum Economic Development Consortium provides these computer programs and software for use in the fields of quantum science and engineering.

Application-Oriented Performance Benchmarks for Quantum Computing This repository contains a collection of prototypical application- or algorithm-cent

SRI International 67 Nov 30, 2022
Balabobapy - Using artificial intelligence algorithms to continue the text

Balabobapy - Using artificial intelligence algorithms to continue the text

qxtony 1 Feb 04, 2022