资源简介
代码用于产生任意形状的封闭图形并将封闭区域内进行赋值
代码片段和文件信息
# 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实现决策树分类算法
- ID3决策树python代码
- python 12306 查询余票代码
- 机器学习实战python2SVM 训练数据
- PEP8中文版PythonCodingRule.pdf
- python爬虫抓取百度贴吧中邮箱地址
- python获取新浪A股实时股票数据并实时
- 文本分类算法LDA
- python Django websocket 实时消息推送
- python serial模块
- mod_wsgi.so全版本
- Python 标准库 中文版
- 改进的SIR模型评估k个重要点算法(
-
gameob
jects-0.0.3 for python3 - opencv-python的dll
- 《Python标准库》中文版
- 使用Python操作摄像头[Windows]
- python的简单测试代码
- 贝叶斯方法预测的demo(Python版本)
- 天眼查抓取脚本tianyancha.py
- 逻辑回归 python代码+训练数据
- python3实现多线程破解tomcat简单密码
- scipy-0.18.1-cp27-27m-win_amd64.whl
- python模拟登录带验证码的网站demo
- 加州理工大学Python OpenGL教程
- 传智播客python基础班/就业班课件
- python人脸识别、人体识别、耳朵眼睛
- 算法基础第五版 Foundation Of Algorithms
- Python多线程
- python简略图书管理系统.doc
评论
共有 条评论