多后端图像处理与指纹识别

Miniature的Python项目详细描述


微型化是两个工具合一:

  • 提供多个后端的简单图像处理帮助程序的库
  • 一个可选的django应用程序,可轻松管理缩略图

后端

迷你版有两个支持的后端:PillowWand

注意:尽管魔杖后端产品在某些方面非常强大,但它仍面临一些性能问题 问题和内存泄漏。

安装

如果您没有安装django,请安装带有枕头后端的微型机:

pip install "miniature[pillow,six]"

如果没有安装django,则使用wand backend:

pip install "miniature[wand,six]"

如果您计划在django中使用minimal,则可以省略“六”依赖项:

pip install "miniature[pillow]"

缩微提供了操作图像的常用功能。首先要做的是加载 处理类:

from miniature.processor import get_processor

Processor = get_processor('pillow')

get_processor将自动加载miniature.processor.pillow_processor并返回 它的Processor类。您可以将完整的python路径作为字符串传递以加载任何其他处理器。 当然,您也可以用传统方式加载自己的处理器类。

一旦有了处理器类,就可以处理图像:

with Processor('my-image.jpg') as p:
    p.thumbnail(200, 200).save('my-image-mini.jpg')

注意,所有映像操作都返回处理器实例,允许您在 一个又大又丑的单行线操作。

保存(文件,[格式],**选项)

将图像保存在file中。file可以是文件名或文件描述符。format应该是 可用的格式。如果没有提供,则使用文件名的扩展名(如果有)或原始文件名 图像的格式。其他参数传递给内部save方法。你可以通过 quality用于jpeg图像。

关闭()

关闭图像资源和关联的文件描述符。你不必调用这个方法 如果将处理器用作上下文管理器。

设置背景(颜色)

更改图像背景色:

p.set_background('#fff')

作物(*args)

使用可变规格裁剪图像。

用坐标裁剪:

p.crop(10, 20, 50, 70)

按比例和位置裁剪:

p.crop(1/2, 'center')

位置可以是:centertop lefttop rightbottom rightbottom left

按比例裁剪A位置偏移:

p.crop(1, '-50%', 20)

偏移是指从图像中心移动裁剪部分的尺寸。他们可能是 百分比或整数(像素)。

最后,为了让处理器决定将裁剪区域移动到何处,您可以让他保持聪明 (有时会失败,让我们面对现实):

p.crop(16/9, 'smart')

调整大小(宽度、高度)

好吧,我想这很明显。

缩略图(宽度、高度)

创建图像的缩略图,同时保持纵横比。您可以传递upscale选项 使用True值强制图像大小,即使它小于提供的维度 (默认值为False)。

旋转(角度)

按照提供的angle逆时针方向旋转图像。

添加边框(宽度、颜色)

在图像周围添加提供的widthcolor边框。

django应用程序

需要编码和记录。

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

推荐PyPI第三方库


热门话题
使用jaxrpc的Java eclipse WebService客户端   java编程方式在对象上写入名称   java Spring批处理:重试后跳过   java Android错误:错误:任务执行失败:应用程序:transformClassesWithDexForDebug'   带有清单文件nullPointerException的java Android元数据   spring Java Quartz调度作业停止运行   JavaMockito:如何在不调用实际方法的情况下,模拟带有参数和无效返回类型的静态方法?   java Tomcat连接池问题无法在关闭的连接上调用方法   java如何交换列表中的项目?   java如何停止线程并通过Toast在线程中正确显示文本?   java为什么连续写入OutputStream时偏移量0不会导致重复字节?   java我无法生成头文件   不兼容的返回类型错误java   修改值后键值对的java Jolt转换规范   java有自动更新Javadoc的工具吗?   java线程如何在ints自身实例类中共享变量   java继承一个非gwt模块   java Hibernate xml配置   使用netty4异步调用的java链接HTTP请求响应