中秋专题🏮python内置turtle画出中秋原木花灯DIY包

中秋月圆夜,唯伏乞三愿:一愿故友安泰,二愿所思常健,三愿清辉拂照处,岁岁有佳宴。❤❤❤


本篇文章带大家使用python自带的绘图库turtle去绘制掘金大大的中秋专题活动的奖励图

看到这张图,你是否会质疑turtle库较为鸡肋的绘画功能是否能画出这样比较繁琐的图片。但其实不乏善于使用turtle库的大佬也能画出精致的图出来,比如

但显然我这没艺术细胞的吊毛显然是没有这天赋的。不过我并非要使用纯turtle来绘制这一张图。。具体过程如下:

使用ps类工具将原图片----->线稿图

这一步骤我是在网上找了一个在线工具线稿图生成器 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)得到的图片的线稿图

边缘检测

这里我使用了opencvCanny边缘检测算法去检测该图中的边缘像素坐标点。

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括

(i)深度上的不连续

(ii)表面方向不连续

(iii)物质属性变化

(iv)场景照明变化。

图像边缘是图像最基本的特征,所谓边缘 (Edge) 是指图像局部特性的不连续性。灰度或结构等信息的突变处称之为边缘。例如,灰度级的突变、颜色的突变,、纹理结构的突变等。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。

(由于本人并非机器学习方向的孩纸,虽然在使用时也尝试去了解了一下该图像识别的算法是怎样的,但也只是不求甚解的粗略泛学了一下。那如果对此感兴趣的同学也可以系统性的进行学习,我这里就不过多赘述误人子弟了。)


turtle描点

拿到了对应的坐标点再使用turtle库去进行依次描点。至此我们就可以使用这三板斧用turtle去绘制这张图片了

源代码:

python 复制代码
import cv2
import turtle
import numpy

def readImage():
    img = cv2.imread("images/.png")
    cv2.imshow("biaoti", img)
    black = cv2.Canny(img, 000, 200)
    height, width = black.shape[:2]
    point = cv2.resize(black, (int(width / 2), int(height / 2)), interpolation=cv2.INTER_CUBIC)
    point = numpy.rot90(point, k=3)
    return point
def draw(point):
    turtle.setup(600, 600)
    x0 = int(len(point[0]) / 2)
    y0 = int(len(point) / 2)
    turtle.pensize(3)
    turtle.speed(1000)
    for y in range(0, len(point), 2):
        for x in range(0, len(point[y]), 2):
            if point[y][x] != 0:
                print(y, x)
                turtle.penup()
                turtle.goto(y - y0, x - x0)
                turtle.pendown()
                turtle.goto(y - y0, x - x0)
                turtle.penup()

if __name__ == '__main__':
    point=readImage()
    draw(point=point)

最后的效果图如此:

相关推荐
nnerddboy20 分钟前
Rust教程04:引用、借用与切片
开发语言·后端·rust
Rain的Java大神之路30 分钟前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
皖山文武35 分钟前
逻辑代数基础学习笔记--概述
笔记·学习·机器学习
jerryinwuhan43 分钟前
《Python数据预处理》第四章
开发语言·python
EasyGBS1 小时前
告别“通用AI”的三大痛点:国标GB28181公网平台EasyGBS+DLTM让企业拥有专属AI安防大脑
人工智能·深度学习·机器学习
雨晨源码(同名B站)1 小时前
基于Python的网易云音乐评论数据情感化分析系统 音乐爬虫信息可视化 |SnowNLP评论情感分析
开发语言·hadoop·爬虫·python·信息可视化·毕业设计
阿童木写作1 小时前
跨境电商图片翻译工具推荐:跨马翻译批量处理视频字幕与抠图
python·音视频
weixin_431600442 小时前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
小强库计算机毕业设计2 小时前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
怪奇云呼军2 小时前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频