PCLines transform for python
Project description
pclines package for Python
This package implements a PCLines transform for line detection in images.
@INPROCEEDINGS{dubska2011pclines,
author={M. {Dubská} and A. {Herout} and J. {Havel}},
booktitle={CVPR 2011},
title={PClines — Line detection using parallel coordinates},
year={2011},
}
Requrements
- Python 3.6+
- numpy
- numba
- scikit-image
Installation
The package is on PyPI, so just run following command and install the package.
> pip install pclines
Alternatively, you can download this repository and install manually.
Example
- Import package
import pclines as pcl
- Data and observations The observations are 2D weighted coordinates enclosed by a known bounding box. As an example we extract edge points from an image.
image = imread("doc/test.png", as_gray=True)
edges = sobel(image)
r,c = np.nonzero(edges > 0.5)
x = np.array([c,r],"i").T
weights = edges[r,c]
- Accumulation in PCLines space
h,w = image.shape[:2]
bbox=(0,0,w,h) # Bounding box of observations
d = 1024 # Accumulator resolution
P = PCLines(bbox, d) # Create new accumulator
P.insert(x, weights) # Insert observations
p, w = P.find_peaks(min_dist=10, prominence=1.3, t=0.1) # Find local maxima
- Detected lines
h = P.inverse(p) # (a,b,c) parameters of lines
X,Y = utils.line_segments_from_homogeneous(h, bbox) # Convert to line segments for plotting
Contribute
If you have a suggestion for improvement, let us know by filling an issue. Or you can fork the project and submit a pull request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pclines-1.0.2.tar.gz.
File metadata
- Download URL: pclines-1.0.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f25339a3d682d7faccbfd4c63628b404deff525f1d93e2ed172c30bf3a322416
|
|
| MD5 |
10e0ce7f98dfe0a4830e03d08720a9cd
|
|
| BLAKE2b-256 |
e97c68eefaad7c605f716e85842a21b8c1e11c4260fefaf890f9ab72d64be28b
|
File details
Details for the file pclines-1.0.2-py3-none-any.whl.
File metadata
- Download URL: pclines-1.0.2-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c647dc9154e3f4ceac213e3cbf0d70659f7b4b5c3d8aae28b2d511fe7d49d165
|
|
| MD5 |
912b4dfd09b270e4b0deaab96358736d
|
|
| BLAKE2b-256 |
814a0e80359818b5974dfba3d5341d36a21c3857e5fb98d9df0ca378c68f4a81
|