基于熵的图像边界检测算法库

enimda的Python项目详细描述


基于熵的图像边界检测算法:找出你的图像是否 边框或空白,并帮助您修剪提供空白的边框 偏移图片的每一面,支持动画gif。

pypi versiontravis ci build status

算法(简化)

对于从顶部开始的图像的每一侧,逆时针旋转图像 要使感兴趣的一面保持在最上面:

  • 获取图像高度的25%的上块
  • 获得与上块高度相同的下块
  • 计算两个块的熵及其差异
  • 使上部块减少1倍
  • 从第2页开始重复,直到达到图像边缘
  • 边界在熵差最大值之间的块之间
Sliding from center to edge - searching for maximum entropy difference

要求

Python3.5+

设置

python-3.6 -m venv .env
source .env/bin/activate
pip install enimda

用法

查找图像是否有边框:

fromenimdaimportENIMDA# Load target imageem=ENIMDA(fp='test.jpg')# Scan for borders with high precisionborders=em.scan(fast=False)# Print found image borders (tuple): top, right, bottom, leftprint(borders)

演示

有关演示,请参阅ENIMDA Demo

它还以“删除边框”的形式存在于Picture Instruments 仪器

测试

运行测试:py.test

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

推荐PyPI第三方库


热门话题
java查找事件分派线程冲突   java画布。DrawBitmap()不会在安卓上绘制任何内容!!:(   ruby+appium或java+appium用于移动本机应用程序自动化   java Jersey REST字符编码   java使用json将字符串转换为Arraylist   java如何在Groovy中检查字符串是否与模式匹配   java如何在抽象arraylist中添加抽象arraylist   Java servlets,JSP更改内容od DIV   java在J2ME中通过http发送和接收数据,并处理菜单和屏幕   Jar文件与JAVA类路径的结合   java按钮不可见,它将连接安卓 studio中的另一个活动   java是否可以使用SFTP JSch库进行多部分文件上载?   facelet中ui:composition和ui:decoration的java差异   java得到的数字不能被任何东西除   java logback:SizeAndTimeBasedRollingPolicy不删除包含4位“%i”的文件   java数据库管理器将连接“借用”到数据库   java javaFx标签wrapText不起作用   java是否可以在同一个系统上同时运行两台服务器?或者,当XAMPP/WAMP未运行时,如何在Eclipse中执行MySQL查询?   递归Java编程