Coder Social home page Coder Social logo

ccl's Introduction

Programs of Connected Component Labeling (CCL) on CPU / GPU

Objective:

  To solve the problem of the CUDA programming contest (TopCoder/NVIDIA CUDA Superhero Challenge 1; http://community.topcoder.com/longcontest/?module=ViewProblemStatement&rd=13957&pm=10644).


To compile source files:

  $ make


Create below files:

  ccl_np_cpu   # Neighbour Propagation on CPU
  ccl_np_gpu   # Neighbour Propagation on CPU
  ccl_dpl_cpu  # Directional Propagation Labelling on CPU
  ccl_dpl_gpu  # Directional Propagation Labelling on GPU
  ccl_le_cpu   # Label Equivalence on CPU
  ccl_le_gpu   # Label Equivalence on GPU


To create input data from image files:

  Usage: image2input.py input_image output_text [degree_of_connectivity=4 threashold=0]

 Example)
  $ ./image2input.py image.jpg input.dat 8 10
  $ ./ccl_le_cpu input.dat > result.txt


References:

  1. K. Hawick, A. Leist and D. Playne, Parallel graph component labelling with GPUs and CUDA, Parallel Computing 36 (12) 655-678 (2010)
  2. O. Kalentev, A. Rai, S. Kemnitz and R. Schneider, Connected component labeling on a 2D grid using CUDA, J. Parallel Distrib. Comput. 71 (4) 615-620 (2011)
  3. V. M. A. Oliveira and  R. A. Lotufo, A study on connected components labeling algorithms using GPUs, SIBGRAPI (2010)

ccl's People

Contributors

foota avatar

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.