GMIC+C++图像处理库的二进制Python 3绑定
gmic的Python项目详细描述
Python binding for G'MIC-一个用于图像处理的全功能开源框架
https://gmic.eu
gmic py公司
这个项目的目标是提供一个G'MIC图像处理库的官方python3包,并将其特定于平台的二进制文件捆绑或自动编译。
当这一点成熟时,运行pip install gmic-py
应该是你准备好并在数据科学、游戏、视频编辑、纹理编辑等领域使用G'MIC所需的全部内容。。Python脚本。在
这个项目是一个正在进行中的工作,使用CeCILL许可证(类似于GNU公共许可证)。在
快速启动
您需要安装python3.x和pip
。
目前,最新的开发版本最有效:)
pip install gmic # Consider adding --only-binary if your machine makes you compile from source
python3
^{pr2}$
官方平台支持
< >您可以在任何平台上用C/C++编译器构建自己的GMIC Python绑定。 下面是我们成功构建并发送到Gmic PyPI page的内容,允许您pip install gmic
并动态使用预构建的二进制文件或构建{gmic-py
的包安装程序链接到您机器现有的libpng
、OpenMP
和{Build target | Basic gmic-py0 | ppm/bmp I/O | libpng I/O | OpenMP | libcURL | OpenCV |
---|---|---|---|---|---|---|
Build from source1 | ✓ | ✓ | ✓ 2 | ✓ | ✓ 2 | ✓ 2 |
Github CI Ubuntu Linux 32&64bit 1 | ✓ | ✓ | ✓ 2 | ✓ | ✓ 2 | ✓ 2 |
Pre-compiled Linux i686 & x86_64 py3.5-3.8 (gcc)m | ✓ | ✓ | ✓ | ✓ | ✓ 3 | ✗ |
Pre-compiled MacOS 64 py3.5-3.8 (clang) | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
Windows (planned)w | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
0即gmic.GmicImage(bytes, w, h, d, s)
,gmic.run(..., "commands")
1例如,从这个项目的tarball或使用pip install gmic
和(可能是默认的)“from source”选项一起使用。破解设置.py如果需要,只需安装libz
就可以很好地工作,最好是libfftw3
来支持所有大小的图像。使用gcc
或{
如果在编译时找到相关库,则启用2,并使用foundpkg-config
可执行文件。在
3对于示例检索和更新最新的过滤器集合非常有用;libcurl嵌入在wheel包中。如果失败,将使用任何运行时可查找的curl
可执行文件,请参见this issue;随时使用network 0
G'MIC命令禁用internet访问
这些实际上是manylinux2010和manylinux2014目标。许多人被丢弃了
在准备好之前,您可以尝试使用MSYS2在Windows上构建自己的gmicpy构建
示例
使用您的相机与G'MIC的可选OpenCV链接
如果您的机器安装了libopencv
,并且您的gmicpy是从源代码(即python setup.py build
)编译的,它将被动态链接。在
路线图
2019年第4季度
- 创建GyMIC的可安装Python包,其API与C++库非常相似:^ {< CD22> },^ {CD2}}和匹配异常类型。二进制依赖项should be bundled as in this tutorial。
- 通过使用python2-3对ubuntudocker映像进行
Ctypes
动态绑定。在ctypes_archive branch完成。在
通过自定义PythO/C++绑定(参见{{CD25}}和^ {CD26}})完成 - 通过使用python2-3对ubuntudocker映像进行
2020年第1-3季度
- 移动Python包的官方存储库。完成
- 添加numpy nparray I/O支持和自动值(de-)交错
- 添加Windows支持
2020年第2-3季度
- 在单独的存储库中,创建一个Blender插件,利用Python库并公开:
- 单个Blender GMIC 2D节点,具有文本字段或可链接脚本来添加GMIC表达式
- 与GMIC过滤器和命令类型一样多的2D节点(500+)
- 项目
标签: