python图像切割成多边形_python opencv在图像中裁剪任意形状多边形,裁剪镂空多边形, 裁剪多个多边形...
一、裁剪单个多边形
import numpy as np
import cv2
# 读取图像
img = cv2.imread("dog.jpg")
# 坐标点points
pts = np.array([[10, 10], [15, 0], [35, 8], [100, 20], [300, 45], [280, 100], [350, 230], [30, 200]])
pts = np.array([pts])
# 和原始图像一样大小的0矩阵,作为mask
mask = np.zeros(img.shape[:2], np.uint8)
# 在mask上将多边形区域填充为白色
cv2.polylines(mask, pts, 1, 255) # 描绘边缘
cv2.fillPoly(mask, pts, 255) # 填充
# 逐位与,得到裁剪后图像,此时是黑色背景
dst = cv2.bitwise_and(img, img, mask=mask)
# 添加白色背景
bg = np.ones_like(img, np.uint8) * 255
cv2.bitwise_not(bg, bg, mask=mask) # bg的多边形区域为0,背景区域为255
dst_white = bg + dst
cv2.imwrite("mask.jpg", mask)
cv2.imwrite("dst.jpg", dst)
cv2.imwrite("dst_white.jpg", dst_white)
裁剪结果:
原图:
mask:
裁剪后:
二、裁剪多个多边形
已有多组坐标点bts,代表着多个多边形区域。
思路:对每组坐标点都在mask上进行相同的操作即可。这里就不重复写了。
三、裁剪镂空多边形
已有多组坐标点bts,其中一组表示最外层多边形,其余的表示镂空区域多边形。
思路1:对于最外层多边形在mask上进行白色填充(255);对于镂空区域多边形在mask上进行黑色填充(0)即可。这里就不重复写了。
思路2:对每个多边形区域都生成一个mask,用原图分别进行裁剪,然后做图像减法,最后再添加白色背景即可。这里就不重复写了。
本文地址:https://blog.csdn.net/PanYHHH/article/details/110940428
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
python图像切割成多边形_python opencv在图像中裁剪任意形状多边形,裁剪镂空多边形, 裁剪多个多边形...相关推荐
- python图片相似度计算_python Opencv计算图像相似度过程解析
这篇文章主要介绍了python Opencv计算图像相似度过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.相关概念 一般我们人区分谁是谁 ...
- python去除图像光照不均匀_python+opencv——去除图像光照不均匀
使用python版本的opencv去除图像中的光照不均匀 在图像处理中,如果图像中存在光照不均匀,则会影响图像处理的效果,比如在图像文本识别和图像分割中.本博客对于图像均衡化的处理主要参考文章:一种基 ...
- python图像切割成多边形_python通过opencv实现图片裁剪原理解析
这篇文章主要介绍了python通过opencv实现图片裁剪原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 图像裁剪的基本概念 : 图像裁剪是 ...
- python图像边缘检测_python opencv实现图像边缘检测
本文利用python opencv进行图像的边缘检测,一般要经过如下几个步骤: 1.去噪 如cv2.GaussianBlur()等函数: 2.计算图像梯度 图像梯度表达的是各个像素点之间,像素值大小的 ...
- python全景图像拼接_Python+OpenCV实现图像的全景拼接
本文实例为大家分享了Python+OpenCV实现图像的全景拼接的具体代码,供大家参考,具体内容如下 环境:python3.5.2 + openCV3.4 1.算法目的 将两张相同场景的场景图片进行全 ...
- python opencv 读取图片_Python opencv 读取图像
对于 matlab 起家做数字图像处理的人来讲都非常适应matlab对图像处理的操作和思路,尤其是它可以非常方便直观的看到图像的RGB值. 由于最近在研究深度学习的计算机视觉方面的东西,于是完全自学接 ...
- opencv把图片转换成二进制_Python+OpenCV实现将图像转换为二进制格式
Python+OpenCV实现将图像转换为二进制格式 发布时间:2020-09-20 20:30:58 来源:脚本之家 阅读:68 作者:大蛇王 在学习tensorflow的过程中,有一个问题,ten ...
- python 高斯金字塔_Python OpenCV 之图像金字塔,高斯金字塔与拉普拉斯金字塔
Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧. 基础知识铺垫 学习图像金字塔,发现网上的资料比较多,检索起来比较轻松. 图像金字塔是一张图像多尺度的表达,或者可以理解成一 ...
- python图像融合算法_Python OpenCV 实现图像融合
原标题:Python OpenCV 实现图像融合 来自:https://www.linuxmi.com/python-opencv-image-blending.html 在本文中,我们将讨论Pyth ...
最新文章
- 一键摸鱼神器火了!专为Windows系统打造,老板在身后也可以很淡定
- insert 语句常见问题
- HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果
- 2008春节长白山哈尔滨雪乡游
- 把一个一维数组转换为in ()
- android camera viewport rect,Unity 实现屏幕抖动效果(通过Camera Viewport Rect)
- 问题 B: 小鱼的搭配购物(并查集+01背包)
- c++ sendmessage 鼠标 坐标是相对自身吗_【科普】你真的足够了解五轴加工吗?看完豁然开朗!...
- Jenkins创建新任务
- 小白都能看懂的numpy与pandas中axis解释
- php store快捷键设置,mac 下 phpstorm 快捷键整理
- linux 安装 yum
- Ubuntu下 UltraEdit 破解/显色
- 接口(interface、implement)
- mysql经纬度查范围内_sql语句查询经纬度范围
- 求一个数的所有因数+质因数分解【数论】
- 网络费用报销管理系统的设计与实现
- matlab实现PS算法之颜色变换、高反差保留、染色玻璃、碎片
- android图标生成网址
- GhostXP SP3 统一会员纯净版 V2.1
热门文章
- Java控制手机在同一网下_安卓手机控制另一手机的方法【详解】
- python中and和or的惰性求值特点_Python 惰性求值
- HDU_1847 Good Luck in CET-4 Everybody!
- Good Luck in CET-4 Everybody! HDU - 1847 (巴氏博弈)
- 育儿心得,所有适龄女青年都该看一下
- 朗月孤舟一尺半,天堂地狱八十年。
- C语言之利用文件保存数据
- 《互动教程 for Photoshop CC》已成功发布在App Store
- 新版HyperMesh的Assemblies中调出下拉菜单查看Component(装配关系模型树)
- Nginx 部署、反向代理配置、负载均衡