需求

给定标准框,把这张图上所有的标注框的小图切出来,标注框不一定是矩形,有多边形。

步骤

  1. 使用多边形点查找区域

  2. 使用多边形点创建遮罩

  3. 做遮罩修剪

  4. 如果需要,添加白色背景

代码

import os
import cv2
import json
import numpy as npimg = cv2.imread("xx.png")j = 0
# 读取文件中的标准框,若无文件可省略此步骤,指定标注框
with open("xx.json", 'r', encoding='utf-8') as f:load_dict = json.load(f)dic_data=load_dict["shapes"]for i in dic_data:pts=np.array(i["points"])# 把浮点型转为整形pts = pts.astype(np.int64)#使用多边形点查找区域rect = cv2.boundingRect(pts)x, y, w, h = rectcroped = img[y:y + h, x:x + w].copy()#使用多边形点创建遮罩pts = pts - pts.min(axis=0)mask = np.zeros(croped.shape[:2], np.uint8)cv2.drawContours(mask, [pts], -1, (255, 255, 255), -1, cv2.LINE_AA)#做遮罩修剪dst = cv2.bitwise_and(croped, croped, mask=mask)#如果需要,添加白色背景bg = np.ones_like(croped, np.uint8) * 255cv2.bitwise_not(bg, bg, mask=mask)dst2 = bg + dstSave_File = r'E:/pythonProject/'save_path = os.path.join(Save_File, str(j) + '.png')cv2.imwrite(save_path, dst2)j += 1

使用Opencv python从Image中裁剪多边形相关推荐

  1. python凹多边形分割_使用Opencv python从Image中裁剪凹面多边形

    Steps find region using the poly points create mask using the poly points do mask op to crop add whi ...

  2. OpenCV Python在计算机视觉中的应用

    OpenCV Python教程 在这篇文章中,我们将使用Python中的OpenCv来涵盖计算机视觉的各个方面.OpenCV长期以来一直是软件开发的重要组成部分. 什么是计算机视觉? 我们考虑一个场景 ...

  3. OpenCV—Python 图像指定区域裁剪

    文章目录 一.指定图像位置的裁剪处理 二.批量处理-指定图像位置的裁剪 三.多进程(加快处理) 在工作中.在做数据集时,需要对图片进行处理,照相的图片我们只需要特定的部分,所以就想到裁剪一种所需的部分 ...

  4. OpenCV+Python实现视频文件裁剪功能

    Python编程实现对视频文件进行剪切的功能.截取指定长度的视频并保存,运行后首先选择要裁剪的视频,然后输入开始时间点和停止时间点即可.将剪切后的视频保存为output.avi文件 所属网站分类: 资 ...

  5. python画椭圆-python opencv圆、椭圆与任意多边形的绘制实例详解

    圆形的绘制 : OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形 impo ...

  6. 使用Python,OpenCV从静态背景中提取移动前景

    使用Python,OpenCV从静态背景中提取移动前景 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍OpenCV中的背景减法方法--即从静态背景中提取移动前景.在许多基于视觉的应用中,背 ...

  7. python中import cv2遇到的错误及安装方法_独家利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码amp;解析)...

    作者:Jose Garcia 翻译:吴振东 校对:张一豪 本文约4000字,建议阅读14分钟. 本文将利用OpenCV,Python和Ubidots来编写一个行人计数器程序,并对代码进行了较为详细的讲 ...

  8. opencv python 中cv2.putText()函数的用法

    opencv python 中cv2.putText()函数的用法 文章目录: 一.快速使用 二.官方文档 三.使用举例 虽然用啦很多次,还是决定记录一下 一.快速使用 cv2.putText(ima ...

  9. 使用OpenCV和Python从图像中提取形状

    Welcome to the first post in this series of blogs on extracting features from images using OpenCV an ...

最新文章

  1. Python sorted 和 sort() 的区别
  2. 静态链表和动态链表 区别
  3. Gradle打包命令记录
  4. python部署服务器 venv_迁移virtualenv环境
  5. (转)OutOfMemory时抓取heap 快照
  6. 平安银行支付接口 PHP ECSHOP
  7. 10个精美免费PPT模板下载网站推荐
  8. 映美精两个相机同步采集求助
  9. matlab可见光通信,可见光通信研究工作matlab代码
  10. 拼多多“出海”的三个考验?
  11. paly()方法和pause()方法
  12. 泛函,变分与变分不等式
  13. 微信6.0 ActionBar样式
  14. 小米手机修改ip代理服务器,小米手机如何设置和更改静态IP地址
  15. 微型计算机故障处理基本原则,微机故障处理的一般性原则和方法
  16. UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
  17. 图形学课设 塔防游戏
  18. 【通信仿真】基于matlab空时自适应处理降维仿真【含Matlab源码 1957期】
  19. C++鼠标连点小程序
  20. Mac上一款天空效果合成图片处理软件分享

热门文章

  1. 自媒体短视频创作者都有哪些创作运营问题,可以让你轻松操作自媒体赚大钱
  2. ThinkPHP 5.x (v5.0.23及v5.1.31以下版本) 远程命令执行漏洞利用(GetShell)
  3. matlab求积分+求导完整技术路线
  4. 猴子吃桃问题c语言链表,数据结构课程设计--猴子吃桃子问题.doc
  5. 应用偏最小二乘回归(PLSR)对NIR光谱与样本中RON含量进行定量分析
  6. 科普,什么是“NP难”的问题。专业的解释俺看不懂。这个文章里面举了几个例子,俺一下就明白了。
  7. 【C语言】文件(FILE)
  8. 在 Python 字典中按值查找键
  9. C语言入门:选择结构-闰年判断
  10. mmcls多标签分类实战(三):多标签分类指标