All Projects → shibatch → rectdetect

shibatch / rectdetect

Licence: MIT license
Realtime rectangle detector with GPGPU

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to rectdetect

learn-gpgpu
Algorithms implemented in CUDA + resources about GPGPU
Stars: ✭ 37 (-27.45%)
Mutual labels:  opencl, gpgpu
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+3117.65%)
Mutual labels:  opencl, gpgpu
Amplifier.net
Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code. Write your function in .NET and Amplifier will take care of running it on your favorite hardware.
Stars: ✭ 92 (+80.39%)
Mutual labels:  opencl, gpgpu
Amplifier.NET
Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code. Write your function in .NET and Amplifier will take care of running it on your favorite hardware.
Stars: ✭ 142 (+178.43%)
Mutual labels:  opencl, gpgpu
Opencl Intercept Layer
Intercept Layer for Debugging and Analyzing OpenCL Applications
Stars: ✭ 189 (+270.59%)
Mutual labels:  opencl, gpgpu
Cekirdekler
Multi-device OpenCL kernel load balancer and pipeliner API for C#. Uses shared-distributed memory model to keep GPUs updated fast while using same kernel on all devices(for simplicity).
Stars: ✭ 76 (+49.02%)
Mutual labels:  opencl, gpgpu
CUDAfy.NET
CUDAfy .NET allows easy development of high performance GPGPU applications completely from the .NET. It's developed in C#.
Stars: ✭ 56 (+9.8%)
Mutual labels:  opencl, gpgpu
Openclpapers
A Collection of Articles and other OpenCL Papers
Stars: ✭ 37 (-27.45%)
Mutual labels:  opencl, gpgpu
Clinfo
Print all known information about all available OpenCL platforms and devices in the system
Stars: ✭ 186 (+264.71%)
Mutual labels:  opencl, gpgpu
Babelstream
STREAM, for lots of devices written in many programming models
Stars: ✭ 121 (+137.25%)
Mutual labels:  opencl, gpgpu
Compute
A C++ GPU Computing Library for OpenCL
Stars: ✭ 1,192 (+2237.25%)
Mutual labels:  opencl, gpgpu
Computecpp Sdk
Collection of samples and utilities for using ComputeCpp, Codeplay's SYCL implementation
Stars: ✭ 239 (+368.63%)
Mutual labels:  opencl, gpgpu
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (+39.22%)
Mutual labels:  opencl, gpgpu
Knlmeanscl
An optimized OpenCL implementation of the Non-local means de-noising algorithm
Stars: ✭ 92 (+80.39%)
Mutual labels:  opencl, gpgpu
Sycl Dnn
SYCL-DNN is a library implementing neural network algorithms written using SYCL
Stars: ✭ 67 (+31.37%)
Mutual labels:  opencl, gpgpu
Hashcat
World's fastest and most advanced password recovery utility
Stars: ✭ 11,014 (+21496.08%)
Mutual labels:  opencl, gpgpu
Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
Stars: ✭ 793 (+1454.9%)
Mutual labels:  opencl, gpgpu
Neanderthal
Fast Clojure Matrix Library
Stars: ✭ 927 (+1717.65%)
Mutual labels:  opencl, gpgpu
Spoc
Stream Processing with OCaml
Stars: ✭ 115 (+125.49%)
Mutual labels:  opencl, gpgpu
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+350.98%)
Mutual labels:  opencl, gpgpu

Rectangle Detector

This is a demo program for a method for realtime rectangle detection from an image. This program detects ALL rectangular shapes viewed from 3D perspective in real time, utilizing a GPU. The program is purely rule-based.

Download

Source code and compiled binary can be downloaded from https://github.com/shibatch/rectdetect/releases

Movies

See the following youtube videos to see some results.

Running demo programs

You need to set up OpenCL runtime in order to run the programs. A CPU device should work, but it is pretty slow.

The following programs will be built.

rect

This is a program for detecting rectangles in a still image.

Usage : ./rect <image file name> [device number] [output file name]

Available OpenCL devices and their numbers are displayed if you execute the program without any arguments.

poly

This is a program for converting edges in the image to polyline. The result is written to output.png.

Usage : ./poly <image file name> [device number]

vidrect

This is a program for detecting rectangles from a video.

Usage : ./vidrect [device number] [input video file] [output video file] [Horizontal AOV]

You can use camera as input. In that case, specify the camera by cam:,, as an input. Output can be displayed on an window by specifying - as an output.

The following command line captures the video from the first camera in 1280x720 resolution and output is shown in the window.

./vidrect 0 cam:0,1280,720 - 72

The following command line captures the video from input.mpg and output to output.mpg.

./vidrect 0 input.mpg output.mpg 72

vidpoly

This is a program for converting edges in the video to polyline.

Build

Please use cmake to build the program.

$ cd rectdetect-X.XX
$ mkdir build
$ cd build
$ cmake ..
$ make
D:\rectdetect-X.XX> mkdir build & cd build
D:\rectdetect-X.XX> cmake -G"Visual Studio 15 2017 Win64" ..
D:\rectdetect-X.XX> cmake --build . --config Release

In order to build the program with Microsoft Visual Studio, you need to edit the CMakeLists.txt.

License

This software is distributed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].