python实现根据给定坐标点生成多边形mask的例子
作者:Selieyo 发布时间:2022-03-22 14:40:15
标签:python,坐标点,多边形,mask
处理数据集的过程中用到了mask 但是源数据集中只给了mask顶点的坐标值,那么在python中怎么实现生成只有0、1表示的mask区域呢?
主要借鉴cv2中的方法:
(我使用的数据情况是将顶点坐标分别存储在roi.mat中的x和y元素)
matfn = 'roi.mat'
data = sio.loadmat(matfn)
x_cor = data['x']
y_cor = data['y']
im = np.zeros(图像对应尺寸, dtype="uint8")
cor_xy = np.hstack((x_cor, y_cor))
cv2.polylines(im, np.int32([cor_xy]), 1, 1)
cv2.fillPoly(im, np.int32([cor_xy]), 1)
mask_array = im
这样就可以得到mask啦,注意:首先坐标对是数组形式,我们需要用‘[ ]' 转换为列表形式,然后用np.int32转化格式,这两步都放在上述标红代码中完成了。不然很容易报错。
来源:https://blog.csdn.net/sinat_22147265/article/details/88624675


猜你喜欢
- 很多程序绕过这个问题,往往人工来决定在何处截断,太麻烦了。 实现内容:截断一段含有HTML代码的文本,但是不会出现围堵标记没有封闭的问题。
- 前言pygame中的精灵碰撞是可见游戏中用的最基础的东西,这里结合官方文档和小甲鱼的网站上的内容做个小总结,方便日后使用。pygame.sp
- django-admin基本介绍Django 提供了基于 web 的管理工具。Django 自动管理工具是 django.contrib 的
- 一、单个文件打包1.1 简单打包例如现在有一个main.py文件内容如下import osprint("hello world&q
- JavaScript使用if () { ... } else { ... }来进行条件判断。例如,根据年龄显示不同内容,可以用if语句实现如
- 之前,我曾转过一个单元测试框架系列的文章,里面介绍了 unittest、nose/nose2 与 pytest 这三个最受人欢迎的 Pyth
- 为了解决传统RNN无法长时依赖问题,RNN的两个变体LSTM和GRU被引入。LSTMLong Short Term Memory,称为长短期
- ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0)mysql> select ASCII(
- 一个等号 =:表示赋值 ;两个等号 ==:先转换类型再比较 ;三个等号 ===:先判断类型,如果不是同一类型直接false。
- 爬取结果:爬取代码import osimport jsonimport requestsfrom tqdm import tqdmdef l
- 本文实例讲述了Go语言eclipse环境搭建的方法。分享给大家供大家参考,具体如下:1 下载eclipse2 下载goeclipsehttp
- 前言golang不允许循环import package ,如果检测到 import cycle ,会在编译时报错,通常import cycl
- 本文实例讲述了python中引用与复制用法。分享给大家供大家参考。具体分析如下:在python中,任何不可变对象是传值的,而可变对象是传引用
- 第一步,建立一个CPP的DLL工程,然后写如下代码,生成DLL#include <stdio.h> &nb
- 本文实例讲述了Python计算两个日期相差天数的方法。分享给大家供大家参考,具体如下:#!/usr/bin/pythonimport tim
- 程序思路:此次程序主要是利用PIL(Python Image Libraty)这库,来进行图片的处理。PIL是一个功能非常强大的python
- ASP在线压缩ACCESS数据库原理很简单:利用JRO.JetEngine的压缩功能建立一个新的数据库文件,然后把原来的删掉、替换!既然这样
- 循环语句(有两种):while 语句for 语句while 语句:问题:输入一个整数n,让程序输出n行的:hello
- 在开发中我们经常遇到这样的需求,需要用户直接点击一个链接进入到一个页面,用户点击后链接后会触发401拦截返回登录界面,登录后又跳转到链接的页
- 今天写一个在windows下批量修改文件名的python脚本,用到文件的遍历。用python进行文件遍历有多种方法,这里列举并说明一下。os