• 问题:在对图片中的重要像素点进行旋转、平移等操作时,部分关键点可能会超出图片的边界,导致关键点的缺失。
  • 解决:在网上查到了pyclipper函数,可以使用有界多边形去切割无界多边形,对应到图片可以使用图片的大小作为界限去切割越界的像素点,类似于在图片范围内找到与越界像素点最近的位置来代替它。
  • 使用:
import pyclipper
import numpy as np#重要的点,有的点可能会超出边界
subj = (((180, 200), (260, 200), (260, 150), (180, 150)),((215, 160), (230, 190), (200, 190))
)#边界
clip = ((190, 210), (240, 210), (240, 130), (190, 130))pc = pyclipper.Pyclipper()pc.AddPath(clip, pyclipper.PT_CLIP, True)
pc.AddPaths(subj, pyclipper.PT_SUBJECT, True)solution = pc.Execute(pyclipper.CT_INTERSECTION, pyclipper.PFT_EVENODD)
print(solution)
#[[[240, 200], [190, 200], [190, 150], [240, 150]], [[200, 190], [230, 190], [215, 160]]]
  • 可视化

注,最右侧的6个重要像素点都超出了图片范围,使用pyclipper在图片中找到与越界的6个重要像素点最近的像素点

Python之pyclipper使用相关推荐

  1. Python之常用函数小结

    文章目录 常用内置函数 0. input: 1. 进制转换: 2. 大小堆: 3. list用法: 4. dict用法: 5. set用法: 6. 判断字符串是字母.数字.大小写: 7. all与an ...

  2. python编程(paddle ocr)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在图像处里面,除了人脸识别.车牌识别.指纹识别这些应用比较成熟的领域之外,ocr也是很重要的一个 ...

  3. Python处理视频文件的实用姿势

    Python处理视频文件的实用姿势 感觉这辈子,最深情绵长的注视,都给了手机. 视频是目前最热门的领域之一. 各平台争先推出便捷工具,自带滤镜和玩法,普通人也能轻松制作精美视频. 也有不少团队实现了批 ...

  4. Python easyOCR图像文本提取 初识

    博物馆一日游,拍照片无数.分类整理,希望图片中的文字进行识别,加上各展馆.各展品的说明.     手工一张张的整理,慢,累,要老命......     还好,模块化.低代码时代,效率.性能.界面.易用 ...

  5. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  6. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  7. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  8. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  9. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

最新文章

  1. 矩阵奇异值分解特征值分解_推荐系统中的奇异值分解与矩阵分解
  2. 你真的了解For循环吗?一道For循环Java面试题引发的思考
  3. RONG出创新—2019年度春季学期“医工结合系列研讨会”圆满落幕
  4. Android 系统Dimension和间距参数详解
  5. CTF杂项之“维吉尼亚密码”
  6. Linux ss 热点,在Linux系统下的ss命令(socket statistics)各种使用示例
  7. 贪心---leetcode-376摆动序列
  8. 实战:判断mysql中当前用户的连接数-分组筛选
  9. 阿里要把雄安打造成AI第一城:未来30年城市长啥样?
  10. TestDriven.NET 2.0——单元测试的好助手(转)
  11. 图片标注工具labeling的安装和使用
  12. Java之链表的反转
  13. Gitlab:从其它项目组里导入一个项目
  14. 医疗his系统的优势
  15. 如何用计算机管理员权限,如何以管理员身份运行电脑?急
  16. 神经元模型和BP网络
  17. 不定长多项式展开后,展开式各阶系数的Java代码实现
  18. burpsuite 越权_越权漏洞之测试与修复
  19. Linux操作系统平台
  20. 解决IDEA提交代码时提示“Performing Code Analysis...”

热门文章

  1. WPF和Expression Blend开发实例:Adorner(装饰器)应用实例
  2. wp7 应用程序优化
  3. 【JavaScript 笔记 】— 基础语法(数据类型、字符串、数组、对象、Map、Set、iterable、函数基础)
  4. eclipse启动报错 Java was started but returned exit code=13 解决方法
  5. [转]PlantUML画类图、流程图、时序图使用详解
  6. 命令行或终端ImportError:No module named(pycharm运行没问题)
  7. 读书笔记_打开量化投资的黑箱06
  8. php fitnesse,Fitnesse+RestFixture:Web 服务回归测试利器
  9. 985毕业,3年大数据经验,面试阿里腾讯失败,只因做不好报表
  10. Box2D——入门教程