GMIC+C++图像处理库的二进制Python 3绑定

gmic的Python项目详细描述


G'MIC LogoPython Logo

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的包安装程序链接到您机器现有的libpngOpenMP和{}(如果找到)。在

Build targetBasic gmic-py0ppm/bmp I/Olibpng I/OOpenMPlibcURLOpenCV
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 0G'MIC命令禁用internet访问

这些实际上是manylinux2010和manylinux2014目标。许多人被丢弃了

在准备好之前,您可以尝试使用MSYS2在Windows上构建自己的gmicpy构建

示例

使用您的相机与G'MIC的可选OpenCV链接

如果您的机器安装了libopencv,并且您的gmicpy是从源代码(即python setup.py build)编译的,它将被动态链接。在

Example script

Live example

路线图

2019年第4季度

  1. 创建GyMIC的可安装Python包,其API与C++库非常相似:^ {< CD22> },^ {CD2}}和匹配异常类型。二进制依赖项should be bundled as in this tutorial
    1. 通过使用python2-3对ubuntudocker映像进行Ctypes动态绑定。在ctypes_archive branch完成。在
    2. 通过自定义PythO/C++绑定(参见{{CD25}}和^ {CD26}})完成
  2. 为各种应用程序域创建文档化的示例。在制品

2020年第1-3季度

  1. 移动Python包的官方存储库。完成
  2. 添加numpy nparray I/O支持和自动值(de-)交错
  3. 添加Windows支持

2020年第2-3季度

  1. 在单独的存储库中,创建一个Blender插件,利用Python库并公开:
  2. 单个Blender GMIC 2D节点,具有文本字段或可链接脚本来添加GMIC表达式
  3. 与GMIC过滤器和命令类型一样多的2D节点(500+)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
任务“:app:compiledBugJava”与“;”的java Android执行失败预期   cmd Java找不到主类   应用程序关闭后java还原Android回栈   无法识别Java中通过OutputStream发送到Firefox的HTML代码   Redis hmget的java超时时间   排序java如何生成按字母顺序排序集合的泛型函数   java从何处提取默认编码?   必须指定java Spring引导安全配置authenticationManager   创建目录的java单元测试代码   初始化期间的java空变量   java如何通过同一个交换机编码启用和禁用Wifi、移动数据和GPS?   java将顺序UI作业排队并在UI中显示它们   java JMS连接未连接到远程JBoss,但连接本地实例   swing Java多GUI窗口创建   包装jar的java OSGi服务   java意外字符“ï”,使用Jackson解析JSON