python使用opencv画圣诞树和画小星星函数

news2024/9/23 19:16:46

画星星函数:

#img 图片
#x y 坐标
#size 大小
def darw_star(img,x,y,color,size=40):
    poly_line=np.array([[x, y-size], [x+int(size/4), y-int(size/4)], [x+size, y-int(size/4)],[x+int(0.375*size),y+int(size/4)],[x+size,y+size],\
                        [x,y+int(0.625*size)],[x-size,y+size],[x-int(0.375*size),y+int(size/4)],[x-size,y-int(size/4)],[x-int(size/4),y-int(size/4)]], np.int32)
    cv2.polylines(img,[poly_line],True,color,4,16)

代码如下:

import cv2
import numpy as np
import random



img=np.zeros([640,640,3]).astype(np.uint8)
img=img.ravel()
for i,j in enumerate(img):
    if j==0:
        img[i]=255
img=np.reshape(img,[640,640,3])

i=50
j=30
for num in range(6):
    r = random.randint(0, 255)
    b = random.randint(0, 255)
    g = random.randint(0, 255)
    cv2.ellipse(img,[320,50],[i,j],60,0,60,[b,g,r],4,16)
    i+=80
    j+=80

i=30
j=10
for num in range(6):
    r = random.randint(0, 255)
    b = random.randint(0, 255)
    g = random.randint(0, 255)
    cv2.ellipse(img,[320,50],[i,j],60,0,60,[b,g,r],4,16)
    i+=80
    j+=80

i=70
j=50
for num in range(5):
    r = random.randint(0, 255)
    b = random.randint(0, 255)
    g = random.randint(0, 255)
    cv2.ellipse(img,[320,50],[i,j],60,0,60,[b,g,r],4,16)
    i+=80
    j+=80

i=90
j=70
for num in range(5):
    r = random.randint(0, 255)
    b = random.randint(0, 255)
    g = random.randint(0, 255)
    cv2.ellipse(img,[320,50],[i,j],60,0,60,[b,g,r],4,16)
    i+=80
    j+=80

def darw_star(x,y,color,size=40):
    global img
    poly_line=np.array([[x, y-size], [x+int(size/4), y-int(size/4)], [x+size, y-int(size/4)],[x+int(0.375*size),y+int(size/4)],[x+size,y+size],\
                        [x,y+int(0.625*size)],[x-size,y+size],[x-int(0.375*size),y+int(size/4)],[x-size,y-int(size/4)],[x-int(size/4),y-int(size/4)]], np.int32)
    cv2.polylines(img,[poly_line],True,color,4,16)

for i in range(50):
    darw_star(325,50,[0,255,255],i)
darw_star(325,50,[0,0,0],50)

for i in range(40):
    darw_star(320,200,[0,0,255],i)
darw_star(320,200,[0,0,0],40)

for i in range(30):
    darw_star(370,300,[0,255,255],i)
darw_star(370,300,[0,0,0],30)

for i in range(30):
    cv2.circle(img,(420,450),i,[0,255,0])
cv2.circle(img,(420,450),30,[0,0,0],4,16)

for i in range(30):
    cv2.circle(img,(220,450),i,[0,0,255])
cv2.circle(img,(220,450),30,[0,0,0],4,16)

for i in range(30):
    cv2.circle(img,(200,300),i,[0,255,255])
cv2.circle(img,(200,300),30,[0,0,0],4,16)

for i in range(30):
    cv2.circle(img,(450,300),i,[255,100,0])
cv2.circle(img,(450,300),30,[0,0,0],4,16)

for i in range(30):
    darw_star(340,420,[255,0,255],i)
darw_star(340,420,[0,0,0],30)

for i in range(40):
    darw_star(150,380,[255,100,255],i)
darw_star(150,380,[0,0,0],40)

cv2.putText(img,'Merry Christmas',[80,560],cv2.FONT_HERSHEY_SIMPLEX,2,[0,0,255],thickness=4)

cv2.imshow('fr',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

尽力了,opencv太难画了
效果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式定时调度:xxl-job 万字详解

一.定时任务概述 1.定时任务认识 1.1.什么是定时任务 定时任务是按照指定时间周期运行任务。使用场景为在某个固定时间点执行,或者周期性的去执行某个任务,比如:每天晚上24点做数据汇总,定时发送短信等。 1.2.常见定时任务方案…

基于web的家电维修系统/家电维修管理系统

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的系统管理应运而生,各行各业相继进入信息管理时代&a…

生物素标记甾体化合物/多杀菌素探针分子/壳聚糖/聚乙二醇偶连基团为华生物提供

生物素标记的甾体化合物探针将D-生物素酰氯与胺反应,合成了新型生物素探针标记的甾体衍生物,经检测这些衍生物对某些肿瘤细胞株有较好的抗肿瘤活性,且对正常细胞株(HEK293T)没有明显的毒害作用。 生物素标记的多杀菌素探针分子,经检测验证,生物素标记多…

Python多字段排序函数——cmp_to_key()【LeetCode50天刷题计划寒假特别版(Day 1 — 最大数(11.40-12.20)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言使用方法例子一、题目最大数示例提示二、思路三、代码前言 python标准模块functools中的cmp_to_key可以将一个cmp函数变成一个key函数,从而支持自定…

第二证券|支持多子女购房、提高公积金贷款额度、发放限时补贴

近来,多地购房支持方针密集出台。 12月1日,安徽安庆发布住所公积金新政,对多子女家庭首次请求住所公积金借款购买自住住所,最高借款额度添加10万元。 11月30日,江西九江也优化多子女家庭住所公积金事务,进…

[附源码]Python计算机毕业设计Django公益组织登记与查询系统论文

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Springboot集成shiro框架:

1, Shiro:是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。 使用Shiro的易于理解的API,可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 2,三…

POSIX线程(二)

目录 一、前言 二、Thread Attributes 1、Setting the Detached State Attribute(thread5.c) 2、Thread Attributes Scheduling (1)Scheduling(thread6.c) 三、Canceling a Thread 1、Canceling a …

[附源码]计算机毕业设计医院门诊管理信息系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

一篇打通线程 等待 中断

✨✨hello,愿意点进来的小伙伴们,你们好呐! 🐻🐻系列专栏:【JavaEE初阶】 🐲🐲本篇内容:介绍 线程的 中断,等待的区别 🐯🐯作者简介:一名现大二的…

思科防火墙——实验练习加命令

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.实验练习 1.实验(1)配置ASA接口 2.实…

HTML网页制作代码——简约的旅游图文相册博客HTML模板(12页)HTML+CSS+JavaScript 静态HTML旅行主题网页作业

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

大学生个人网页设计 HTML个人网页制作 web个人网站模板 简单静态HTML个人网页作品

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

[JavaEE]初始操作系统--进程

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1. javaEE概述 2. 计算机发展史 3. 冯诺依曼体系 …

Allegro如何移动器件操作指导

Allegro如何移动器件操作指导 Allegro上可以任意移动器件,具体操作如下 选择Edit-move Find选择Symbols Point根据需要选择 Sym Origin是抓取器件的原点 Body center是抓取器件的中心 User Pick可以自定义抓取的原点,在移动整个模块的并且旋转的时候常用的命令 Sym Pin#设…

投稿时要求注册ORCID,这张学术界身份证到底有哪些用处?

您是否经常遇到向国际期刊投稿时需要提供ORCID账号进行登录呢? 又是否在我们看到喜欢的文献时,不免被其作者圈粉,忍不住要去了解这位学者的其他作品和动向时却又很难搜到准确信息? 对中国学者来说,由于投到国际期刊时…

【Matplotlib绘制图像大全】(七):Matplotlib使用xlim()和ylim()修改轴线刻度

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

Docker-compose部署XWiki

XWiki是一个知识管理平台,用于知识库管理和知识管理。最有名的是Confluence系统,我们现在搭建的是XWiki,这是一个开源系统。 我们可以到官网上查找安装的方法: 这里,我们采用PostgresSQL on Tomcat的方法:…

15.位操作

文章目录位操作15.1二进制数、位和字节15.1.1二进制整数15.1.2有符号整数(?)15.1.3二进制浮点数1.二进制小数2.浮点数表示法15.2其他进制数15.2.1八进制15.2.2十六进制15.3C按位运算符1.二进制反码或按位取反:~2.按位与:&3.按位或:|4.按…

HTML+CSS网页设计期末课程大作业 【茶叶文化网站设计题材】web前端开发技术 web课程设计 网页规划与设计

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…