没有合适的资源?快使用搜索试试~ 我知道了~
opencv项目之画图
0 下载量 192 浏览量
2020-12-21
06:24:19
上传
评论
收藏 120KB PDF 举报
温馨提示
试读
3页
看代码,有详细的注释 import cv2 import numpy as np import random import time import math #这是图片的大小 sx = 1000 sy = 1200 #窗口函数 def show(img, name = "haigen",time = 10): # cv2.namedWindow(name, cv2.WINDOW_NORMAL) cv2.imshow(name,img) cv2.waitKey(time) #画星星 def star(fi): #根据fi的大小来画星星的个数 while f
资源详情
资源评论
资源推荐
opencv项目之画图项目之画图
看代码,有详细的注释
import cv2
import numpy as np
import random
import time
import math
#这是图片的大小
sx = 1000
sy = 1200
#窗口函数
def show(img, name = "haigen",time = 10):
# cv2.namedWindow(name, cv2.WINDOW_NORMAL)
cv2.imshow(name,img)
cv2.waitKey(time)
#画星星
def star(fi):
#根据fi的大小来画星星的个数
while fi >= 0:
#确定星星的位置
x = random.randint(0, 350)
y = random.randint(0,sy)
dot = random.randint(0,1)
#根究dot的大小判断星星的大小
cv2.circle(board,(y,x),dot,(255,255,255),dot)
fi -= 1
#画闪烁得星星
def ran_star():
list = [] #每次闪烁得个数
for i in range(35):
x = random.randint(0, 350)
y = random.randint(0, sy)
dot = random.randint(0, 1)
list.append((x,y,dot))
#画星星
for x, y, dot in list:
cv2.circle(board, (y, x), dot, (255, 255, 255), dot)
show(board,time=10)
#然后把星星注释掉
for x,y,dot in list:
cv2.waitKey(20)
cv2.circle(board, (y, x), dot, (0, 0, 0), dot)
#画树
def tree(n,l,star, end, fi):
val = int(n / 2)
if(val 0:
# 右分支偏转角度
b = random.random() * 15 + 40 - fi * 3
# 左分支偏转角度
c = random.random() * 20 + 80 - fi
#这里是计算出接下来的偏角
b = -b
c = -c
c += b
# 下一个分支的长度
d = l * (random.random() * 0.25 + 0.75)
x,y = end
#计算出下一个右分支中点的位置,根据数学
x1 = int(x + l * math.cos(math.radians(b)))
y1 = int(y + l * math.sin(math.radians(b)))
#画右分支
tree(n - 1,d,end,(x1,y1), fi + 1)
# 计算出下一个左分支中点的位置,根据数学
x1 = int(x + l * math.cos(math.radians(c)))
y1 = int(y + l * math.sin(math.radians(c)))
#画左分支
tree(n - 1, d, end, (x1, y1), fi + 1)
#如果遍历的层数大于六层就开始画树上的花
if(fi > 6):
#画树上的花
cv2.circle(board,end,4,[255,255,255],2)
#画飞起的花
def flower():
list = [] #刚开始离树进的花,就少一点
for i in range(30):
x = random.randint(m - 400, m - 50)
y = random.randint(n - 60, n + 200)
ori = board[x - 1:x + 10, y - 1:y + 10].copy()
list.append((x,y, ori))
cv2.circle(board, (y + 4, x + 4), 4, (255, 255, 255), 2)
#后面的花多一点啊
for i in range(75):
x = random.randint(m - 400, m)
y = random.randint(n + 200, sy)
ori = board[x - 1:x + 10, y - 1:y + 10].copy()
list.append((x,y, ori))
weixin_38721405
- 粉丝: 2
- 资源: 958
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 通过使用selenium库实现淘宝自动下单及付款操作
- aarch64-linux-gnu环境opencv4.5.5交叉编译库
- YOLO 数据集:X影像下的人体骨折识别+检测(2类)【包含划分好的数据集、类别class文件、数据可视化脚本】
- av1analyzer
- 华为 B610-4e JFFS2 恢复文件 用于升降级后变英文 红版等故障修复方法案例
- python实现的端午节庆祝程序(知识问答、祝福语)含源码、文档说明运行截图
- Python中自动识别和定位图像中的物体.zip
- docker容器化部署minio并实现主从同步,minio+mc工具实现
- “人力资源+大数据+薪酬报告+涨薪调薪”
- “人力资源+大数据+薪酬报告+涨薪调薪”
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0