Coder Social home page Coder Social logo

hypergraphs-matching's Introduction

Hypergrah Matching

Algoritmo de correspondencia entre imágenes usando hipergrafos.


Dependencias

Dependencias Generales

  • Instalar Opencv 2.4.13 como se indica aquí

Dependencia extra para código en python

  • Instalar pip como se idica aquí

  • Instalar Numpy con pip así:

sudo pip install numpy

Compilar y ejecutar código secuencial en C/C++

Desde la carpeta del proyecto

cd cpp_hyperMatching_code

luego compilar usando simplemente:

make

si por alguna razón no se tiene make usar:

g++ `pkg-config --cflags --libs opencv` main.cpp -o hiper.out

finalmente para ejecutar el código

./hiper.out

Ejecutar código secuencial en python

Desde la carpeta del proyecto

cd python_hyperMatching_code

luego ejecutar:

python main.py

Compilar y correr código con CUDA

Lanzar antes de compilar un programa en cuda

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

&

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\
                         ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Compilar en CUDA

nvcc programa.cu -o programa

Profiling using GPROF.

g++ -std=c++11 -Wall -pg `pkg-config --cflags opencv` main.cpp `pkg-config --libs opencv` -o hiper.out

Ejecutar

./hiper.out

Crear archivo de profiling

gprof hiper.out gmon.out > analysis.txt

Crear gráfico

perf record -g -- ./hiper.out

guardar en png

perf script | c++filt | python -m gprof2dot -f perf | dot -Tpng -o profiling.png

Autores

hypergraphs-matching's People

Contributors

yensygomez avatar sebasvega95 avatar

Watchers

Felix Ulber avatar John Osorio avatar  avatar  avatar Leiver Andres Campeon avatar Alejandro E. Rendon avatar

Forkers

dawnj gxnud

hypergraphs-matching's Issues

Nuevas imágenes de mayor resolución.

Muchachos se hace necesario buscar unas imágenes más grandes o tomar otras con mayor resolución. La idea es poder testear en qué momento el SURF en GPU mejora en tiempo al SURF de CPU. Ya están en el mismo orden de magnitud de tiempos. Espero puedan colaborarme.

Update draw.hpp

The edge drawing function now receives different arguments

Update C++ algorithm

Apply similarity and match changes that were made in Python to C++ implementation, hopefully before the parallelization.

Organización de README.

Organizar el README para que quede un poco más claro el proceso de compilación y de ejecución del algoritmo. Detallar el proceso de instalación de las librerías necesarias para el correcto funcionamiento del código. Hacer como enlaces de acuerdo a la versión del código que se desea ejecutar (C++, Python, CUDA).

👍

Getting more done in GitHub with ZenHub

Hola! @leiverandres has created a ZenHub account for the kala855 organization. ZenHub is the only project management tool integrated natively in GitHub – created specifically for fast-moving, software-driven teams.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Multi-Repository burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • Time-saving shortcuts – like a quick repo switcher, a “Move issue” button, and much more.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @leiverandres.

ZenHub Board

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.