资源简介
代码用于产生任意形状的封闭图形并将封闭区域内进行赋值
代码片段和文件信息
# coding --utf8
from matplotlib.path import Path
import matplotlib.patches as patches
import matplotlib.pyplot as plt
import numpy as np
import cv2
import os
import scipy.ndimage
def draw_random_shape(savenamen=8r=0.7):
‘‘‘
TODO:绘制不同形状的图,n和r控制了形状的复杂程度,其中n控制复杂的边长数目,r控制每一个边长的复杂程度
:param n: 变异的边长数目
:param r: 对于圆的扰动程度
:return:
‘‘‘
N = n*3 +1 # 图像的角点数目
angles = np.linspace(02*np.piN)
codes = np.full(NPath.CURVE4)
codes[0] = Path.MOVETO
verts = np.stack((np.cos(angles)np.sin(angles))).T*(2*r*np.random.random(N)+1-r)[:None]
verts[-1:] = verts[0:]
path = Path(vertscodes)
fig = plt.figure()
ax = fig.add_subplot(111)
path = patches.PathPatch(pathfacecolor=‘none‘lw=1)
ax.add_patch(path)
ax.set_xlim(np.min(verts) * 1.1 np.max(verts) * 1.1)
ax.set_ylim(np.min(verts) * 1.1 np.max(verts) * 1.1)
ax.axis(‘off‘)
plt.savefig(savename)
mask = cv2.imread(savename)
mask = mask[::0]
mask = cv2.bitwise_not(mask) # 将图像反相
mask = cv2.Canny(mask0255) # 使用canny算子将边缘值全部二值化为255,这样使用射线法找到
cv2.imwrite(savenamemask)
def img_resize(imgimg_shape):
imgnew = cv2.resize(img img_shape interpolation=cv2.INTER_LANCZOS4)
return imgnew
def random_panning(imgthim
- 上一篇:python实现决策树分类算法
- 下一篇:数据压缩DP算法源代码
相关资源
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论