potrace Python 绑定。为windows编译
项目描述
这些绑定为potrace库提供了一个面向对象的 API。
完整的 API 文档位于https://pythonhosted.org/pypotrace/。
示例用法
绑定适用于表示为 numpy 数组的输入图像:
import numpy as np import potrace # Make a numpy array with a rectangle in the middle data = np.zeros((32, 32), np.uint32) data[8:32-8, 8:32-8] = 1 # Create a bitmap from the array bmp = potrace.Bitmap(data) # Trace the bitmap to a path path = bmp.trace() # Iterate over path curves for curve in path: print "start_point =", curve.start_point for segment in curve: print segment end_point_x, end_point_y = segment.end_point if segment.is_corner: c_x, c_y = segment.c else: c1_x, c1_y = segment.c1 c2_x, c2_y = segment.c2
安装
Ubuntu
安装系统依赖:
$ sudo apt-get install build-essential python-dev libagg-dev libpotrace-dev pkg-config
安装 pypotrace:
$ git clone https://github.com/flupke/pypotrace.git $ cd pypotrace $ pip install numpy $ pip install .
CentOS/红帽
安装系统依赖:
$ sudo yum -y groupinstall "Development Tools" $ sudo yum -y install agg-devel potrace-devel python-devel
安装 pypotrace:
$ git clone https://github.com/flupke/pypotrace.git $ cd pypotrace $ pip install numpy $ pip install .
操作系统
安装系统依赖:
$ brew install libagg pkg-config potrace
安装 pypotrace:
$ git clone https://github.com/flupke/pypotrace.git $ cd pypotrace $ pip install numpy $ pip install .
视窗
感谢 klonuo 的指导
以下是如何使用 MinGW 系统使这个包在 Windows 上工作的说明。可能它可以用 Visual Studio 完成,但我缺乏制作这种魔法的技能。
所以假设用户有 MinGW 可用,需要额外的两个包:
potrace 来源:http ://potrace.sourceforge.net/#downloading
我在我的C:\src文件夹中提取了这两个包。两者都可以通过执行./configure轻松构建;制作和./autogen.sh;在 MSYS 提示符下分别制作。
之后,我们需要一些变量来成功构建 pypotrace:
首先,包括路径:
“numpy/arrayobject.h”:C:/Python27/Lib/site-packages/numpy/core/include
potrace 头文件:C:/src/potrace-1.11/src
agg 头文件:C:/src/agg-2.5
agg 包含一个小问题,因为 cpp 源中引用的路径指向agg2/*.h而在下载的 agg 包中我们没有agg2 文件夹。对我来说,将 C:/src/agg-2.5/include 重命名为C :/src/agg-2.5/agg2并使用C:/src/agg-2.5作为 agg 包含文件夹是最简单的。
接下来,我们在上面构建的库的 libdirs:
potrace: C:/src/potrace-1.11/src/.libs
聚合:C:/src/agg-2.5/src
我们可以制作 pypotrace 构建命令,并执行它:
python setup.py build_ext -IC:/Python27/Lib/site-packages/numpy/core/include;C:/src/potrace-1.11/src;C:/src/agg-2.5 -LC:/src/potrace-1.11/src/.libs;C:/src/agg-2.5/src
最后安装包:
C:\src\git\pypotrace>python setup.py install running install running build running build_py copying potrace\__init__.py -> build\lib.win32-2.7\potrace copying potrace\agg\__init__.py -> build\lib.win32-2.7\potrace\agg running build_ext skipping 'potrace\_potrace.c' Cython extension (up-to-date) skipping 'potrace\bezier.cpp' Cython extension (up-to-date) skipping 'potrace/agg\curves.cpp' Cython extension (up-to-date) running install_lib creating C:\Python27\Lib\site-packages\potrace creating C:\Python27\Lib\site-packages\potrace\agg copying build\lib.win32-2.7\potrace\agg\curves.pyd -> C:\Python27\Lib\site-packages\potrace\agg copying build\lib.win32-2.7\potrace\agg\__init__.py -> C:\Python27\Lib\site-packages\potrace\agg copying build\lib.win32-2.7\potrace\bezier.pyd -> C:\Python27\Lib\site-packages\potrace copying build\lib.win32-2.7\potrace\_potrace.pyd -> C:\Python27\Lib\site-packages\potrace copying build\lib.win32-2.7\potrace\__init__.py -> C:\Python27\Lib\site-packages\potrace byte-compiling C:\Python27\Lib\site-packages\potrace\agg\__init__.py to __init__.pyc byte-compiling C:\Python27\Lib\site-packages\potrace\__init__.py to __init__.pyc running install_egg_info Writing C:\Python27\Lib\site-packages\pypotrace-0.1-py2.7.egg-info
运行测试
您可以通过运行测试来检查一切是否正常:
$ pip install '.[dev]' $ nosetests -v
文档
文档托管在这里:http ://packages.python.org/pypotrace
一个副本也包含在源代码分发的doc/_build/html目录中。
主页
该项目托管在 github 上:http: //github.com/flupke/pypotrace
项目详情
pypotrace_windows -0.2-cp310-cp310-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c0dbf5f0d97e581d4e3ea3b7d92799e75a3cfb524a22951c013f30b3030dc009 |
|
MD5 | 5a833667cbf1f3b1941b5efba2172da9 |
|
布莱克2-256 | 4ca3a7f197ace3f501b52fba694a2b7a5f8c3fe8e06e8023d1d5e63d033e6685 |
pypotrace_windows -0.2-cp39-cp39-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b8eb467f8117ffe0e9c34e89a3ef0c495c6f7cbef1e813ffb415826dfa3ff2a0 |
|
MD5 | 14d09f564b1ee152d0fe070e010ec9be |
|
布莱克2-256 | 4d575e933f99011de4873ebde0516c9657c87be258beb66aefc06bd5ed6f384a |
pypotrace_windows -0.2-cp38-cp38-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f624da9a14313bdad927bd09d2e4f56c6bebaa5f78c198e4520bd46de775b2e2 |
|
MD5 | 8d5c14bcfea25ecf5154a705f29e5962 |
|
布莱克2-256 | bfa3ad7a682d0edbfc59b64148c1d523ac5bb5b5db33b4dafc6fa8108e539c79 |