Skip to main content

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 可用,需要额外的两个包:

  1. potrace 来源:http ://potrace.sourceforge.net/#downloading

  2. 聚合源:http ://www.antigrain.com/download/index.html

我在我的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.tar.gz (182.6 kB 查看哈希

已上传 source

内置发行版

pypotrace_windows-0.2-cp310-cp310-win_amd64.whl (164.3 kB 查看哈希

已上传 cp310

pypotrace_windows-0.2-cp39-cp39-win_amd64.whl (165.6 kB 查看哈希

已上传 cp39

pypotrace_windows-0.2-cp38-cp38-win_amd64.whl (165.9 kB 查看哈希

已上传 cp38