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

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 Libgdx管理单个Clicklistener的问题   编译Java反编译>重新编译过程,安全吗?   将java RGB值转换为颜色。价值   swing java AWT本机操作系统库?   java将HTTPS添加到Google App Engine上的自定义域(并保持HTTP工作)   windows Java swing应用程序即服务   JavaSpring身份验证提供程序忽略我的详细信息   java在usb 安卓非根设备中创建文件夹?   java如何操作粘贴到JTextField中的文本,而不是键入的输入?   java jinterop无法通过WMI监视Win7   java文件解密:IllegalBlockSizeException:解密中的最后一个块未完成   运行Java时出现问题。对雄猫的战争   java在Harmony OS中,可为空和非空注释的替代方案是什么?   swagger ui删除SpringFox swagger ui中的基本错误控制器   java Spring引导自定义外部配置加载顺序   尝试连接到RMI注册表但获取java时出现异常。网连接异常:连接被拒绝:连接   png Java webapp图像文件上传最佳实践   java如何降级JDK?   带有两个标签的java JOptionPane