Giter Club home page Giter Club logo

guc-cs / campus-vision Goto Github PK

View Code? Open in Web Editor NEW
0.0 8.0 1.0 29.12 MB

Campus Vision is two sub-projects implemented during the 9th Semester, Winter Fall 2011. The main idea is to recognize robot-captured images of offices and campus booths at the GUC using C++ and OpenCV. Project description by TA: Ahmed Abdelgayed

License: MIT License

C++ 84.35% Makefile 3.11% Shell 2.22% HTML 3.95% C 2.98% CSS 0.01% MATLAB 0.13% Python 2.96% Gnuplot 0.01% M 0.19% Objective-C 0.04% Inno Setup 0.08%

campus-vision's Introduction

Campus Vision

Campus Vision is two sub-projects implemented during the 9th Semester's computer vision course, Winter Fall 2011. The main idea is to recognize robot-captured images of offices and campus booths at the GUC using C++ and OpenCV. Project description by TA: Ahmed Abdelgayed

Introduction

The Project Campus Vision is an image and feature detection computer vision exercise using C++ and OpenCV v1.1. It is divided into two sub-projects:

  • Company Logo Detector - Detects company names corresponding to logos found at booths present at the GUC campus despite different images orientation, different surrounding context and potential rotation when the user/robot captures these images.
  • Room No. Detector - Detects Room numbers of different offices and classrooms at the GUC given some robot-captured images.

Screenshots

  • Room Number Detector Screenshot of Room Number Detector
  • Company Logo Detector Screenshot of Room Number Detector

Features

  • Room Number Detector
    • Circle Detection
    • Gaussian Smoothing
    • Morphology closing of gaps to enhance input image
    • ROI extraction
    • Template matching against a set of template images represening images of numbers.
    • Using Normalized Square distance as a scoring function
  • Company Logo Detector
    • Chamfer matching
    • Distance Transform
    • Canny Edge Detection
    • Apply Homography matrix and perspective transform on user selected ROI

How To

  1. Install our patched version of opencv1.1 (Opencv 1.1 is too old now. We patched parts of it so it installs well on modern systems. Currently, we only tested it using Ubuntu 14.04 LTS x64)
sh Opencv1.1-install.sh

If the installation has succeeded, the previous command should end with the following two lines

-I/usr/local/include/opencv
-L/usr/local/lib -lcxcore -lcv -lhighgui -lcvaux -lml
  1. Make
make
  1. Run the corresponding binary from the project sub-directory
  • For Room Number Detector
cd Room\ Number\ Detector/
./RoomNumberDetector
  • For Company Logo Detector
cd Company\ Logo\ Detector
./CompanyLogoDetector
  1. You will be prompted with the location to input image in the command line:
  • For Room Number Detector, enter the path to a test image and hit enter:

    test images/image001.png
    
    • Keep hitting enter, it will show you step by step the series of transformations taken and finally print the room number corresponding to the image in the command line.
  • For Company Detector, enter the path to a dataset image and hit enter:

    dataset/IMG_0117.png
    
    • Use the mouse to make four clockwise clicks corresponding to vertices of a quad surrounding an area where the logo lies.
    • First, you will be presented with the perspective transform (Upright logo), keep pressing enter, it will show you the list of steps taken and finally prints out the name of the best matching template file as well as the matching scores against all templates.

Contributors

  • Amr Tj. Wallas

License

MIT. See LICENSE file for more infomration

campus-vision's People

Watchers

Mina Nagy Zaki avatar James Cloos avatar Amr Tj. Wallas avatar Kareem Ahmed avatar ElHassan Makled avatar Nourhan Mohamed avatar Mohamed Wael Alzayat avatar George avatar

Forkers

hebaelshawarby

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.