Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shibatch/rectdetect
Realtime rectangle detector with GPGPU
https://github.com/shibatch/rectdetect
computer-vision gpgpu image-processing opencl opencv polyline rectangle-detection video
Last synced: 3 months ago
JSON representation
Realtime rectangle detector with GPGPU
- Host: GitHub
- URL: https://github.com/shibatch/rectdetect
- Owner: shibatch
- License: mit
- Created: 2018-12-14T06:50:58.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2021-01-31T13:59:13.000Z (about 4 years ago)
- Last Synced: 2023-10-20T04:30:44.970Z (over 1 year ago)
- Topics: computer-vision, gpgpu, image-processing, opencl, opencv, polyline, rectangle-detection, video
- Language: C
- Homepage: https://www.youtube.com/watch?v=HpaY0HOomAI
- Size: 60.5 KB
- Stars: 52
- Watchers: 8
- Forks: 21
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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.
* https://www.youtube.com/watch?v=HpaY0HOomAI
* https://www.youtube.com/watch?v=BLJEYui0XcY# 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 [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 [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.
```sh
$ cd rectdetect-X.XX
$ mkdir build
$ cd build
$ cmake ..
$ make
``````sh
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.