OpenCores
URL https://opencores.org/ocsvn/linkruncca/linkruncca/trunk

Subversion Repositories linkruncca

[/] [linkruncca/] [trunk/] [README.txt] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 jaytang
======================================================================================================
2
LINKRUNCCA: A Linked List Run-Length-Based Single-Pass Connected Component Analysis
3
======================================================================================================
4
 
5
Description
6
-----------
7
LinkRunCCA is a real-time single-pass connected component analysis/labelling (CCA/CCL) hardware implementation in verilog HDL. It can operate in maximum streaming throughput (one pixel per cycle) and has very low memory requirement. The implementation is based on the state-of-the-art algorithm from publication in http://dx.doi.org/10.1007/s11554-016-0590-2.
8
 
9
LinkRunCCA uses combination of linked list and run-length-based techniques to label and extract components' feature (bounding box in this case) in one scan. Algorithm detail is described in the publication.
10
 
11
 
12
Overview of LinkRunCCA
13
-----------------------
14
                 ______________
15
                |              |
16
      pixel---->|              |---->bounding box (min X, max X, min Y and max Y coordinates)
17
                |  LinkRunCCA  |
18
      valid---->|              |---->valid_out
19
                |______________|
20
 
21
Input Ports:
22
clk - clock sink
23
rst - reset sink
24
pix_in - input binary image/video stream (1 bit)
25
datavalid - valid bit for input stream
26
 
27
Output Ports:
28
box_out - bounding box of each component (concatenated min X, max X, min Y and max Y coordinates)
29
datavalid_out - valid bit for each bounding box
30
 
31
Parameters:
32
imwidth - image width
33
imheight - image height
34
 
35
 
36
Using LinkRunCCA
37
----------------
38
LinkRunCCA accepts binary image/video stream as input and produces bounding boxes of each connected component in the image/video. It can be connected directly to any streaming interfaces up to one pixel per cycle throughput, consisting of a data bit (binary pixel) and a valid bit. Bounding box of each connected component is produced immediately as soon as the component is completed, accompanied with a valid_out bit.
39
 
40
The size of image/video is parametrizable, hence the memory requirement is varied based on image/video size. The parameters (imwidth and imheight) must be set correctly according to the image size for implementation.
41
 
42
 
43
Authors and Contact Details
44
---------------------------
45
Author: J.W. Tang
46
Email: jaytang1987@hotmail.com
47
 
48
 
49
Citation
50
--------
51
By using LinkRunCCA in any or associated publication, you agree to cite it as:
52
Tang, J. W., et al. "A linked list run-length-based single-pass connected component analysis for real-time embedded hardware." Journal of Real-Time Image Processing: 1-19. 2016. doi:10.1007/s11554-016-0590-2.
53
 
54
 
55
Copyright (C) 2016 J.W. Tang
56
----------------------------
57
LinkRunCCA is free software: you can redistribute it and/or modify
58
it under the terms of the GNU Lesser General Public License as
59
published by the Free Software Foundation, either version 3 of
60
the License, or (at your option) any later version.
61
 
62
LinkRunCCA is distributed in the hope that it will be useful,
63
but WITHOUT ANY WARRANTY; without even the implied warranty of
64
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
65
GNU Lesser General Public License for more details.
66
 
67
You should have received a copy of the GNU Lesser General Public License
68
along with LinkRunCCA. If not, see .
69
 
70
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.