Python文档阅读笔记-Turn Images into Cartoons using Python

2023-05-16

本博文说明如何将图片转为卡通风格。

1. 导入依赖模块

在编程的第一步首先要导入依赖库,在这个图像转换成卡通风格的程序中需要包含3个模块,分别是openCV,numpy,matpoltlib。

import cv2
import numpy as np
import matplotlib.pyplot as plt

2. 加载并绘制原始图片

第二步是使用imread函数读取图片,再使用cvtColor函数将图片转换为RGB格式。随后使用imshow函数绘制图片。代码如下所示:

img = cv2.imread("image.jpg")
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
plt.figure(figsize=(10,10))
plt.imshow(img)
plt.axis("off")
plt.title("Original Image")
plt.show()

3. 将图片转换为灰度

这一步是使用cvColor函数将图片转换为灰度图。做这一步的原因是使用灰度图可以减少程序的时间复杂度。

代码如下所示。

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.medianBlur(gray, 5)
plt.figure(figsize=(10,10))
plt.imshow(gray,cmap="gray")
plt.axis("off")
plt.title("Grayscale Image")
plt.show()

4. 获取边缘图片

图片边缘化能够使得处理更加简单,从灰度图像中获取边缘图片,然后将此边缘图片进行卷积网络。

使用adaptiveThreshold进行参数的设置,从而获取边缘图片,代码如下:

edges = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 9, 9)
plt.figure(figsize=(10,10))
plt.imshow(edges,cmap="gray")
plt.axis("off")
plt.title("Edged Image")
plt.show()

5. 将图片转换为卡通风格

最后使用bilateralFilter函数进行卷积过滤。通过逐位运算,使用原始图片和卷积图片最终生成卡通图。

代码如下:

color = cv2.bilateralFilter(img, 9, 250, 250)
cartoon = cv2.bitwise_and(color, color, mask=edges)
plt.figure(figsize=(10,10))
plt.imshow(cartoon,cmap="gray")
plt.axis("off")
plt.title("Cartoon Image")
plt.show()

最后输出的卡通图片

下面展示不同原始图片转换为不同版本的图片。

 

 试下其他图片:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python文档阅读笔记-Turn Images into Cartoons using Python 的相关文章

随机推荐

  • Mybatis-Plus分页插件

    引言 xff1a MyBatis Plus自带分页插件 xff0c 只要简单的配置即可实现分页功能 1 添加Configuration配置类 64 Configuration 64 MapperScan 34 com atguigu myb
  • 关于manjaro命令行界面方块乱码

    通常情况下这些方块乱码是中文 xff0c 其实这篇文档讲的很清楚 xff0c 如果 etc locale conf中有设置LANG 61 zh CN UTF 8就会导致tty乱码 解决办法也如文档所说有两个 xff1a 首先是修改 etc
  • 如何安装arm交叉工具链及问题解决

    在进行基于arm的嵌入式linux开发时 xff0c 首先要安装交叉工具链 要按照交叉工具链首先要获得交叉工具链的压缩包 xff0c 我这里用的是开发板上自带的压缩包 xff1a arm linux gcc 4 5 1 v6 vfp tgz
  • 04)go语言使用优化 启动时不打开CMD控制台,后台运行

    一 生成没有cmd窗口的exe程序 1 目前go语言生成exe我是在goland运行时设置了输出路径 xff0c 运行时就会产生exe可执行文件 2 默认是执行的go bulid指令 xff0c 生成的ext双击打开是有CMD窗口的 xff
  • C#使用RDP远程桌面

    由于本人是做数据库维护经常使用到远程桌面 xff0c 但是windows自带的远程桌面难以区分很不方便 xff0c 所以我自己写了一个RDP RDP一共修改了两次 第一种思路就是使用windows自带的RDP xff0c 保存成RDP文件
  • 【Altium秘籍】room 复制报错的解决办法

    在使用多通道绘图时 nbsp 有时会出现 nbsp 后加的通道 无法拷贝room格式 nbsp 仔细看会发现 是由于新建的 room 不属于原来的 类中 这个原因 个人觉得是 软件的bug nbsp 更新数据时遗漏导致 数据不同步 目前 n
  • 将多边形点按照逆时针排序

    Point center bool PointCmp const Point amp a const Point amp b if a x gt 61 0 amp amp b x lt 0 return true if a x 61 61
  • 排队论入门学习 (for 数学建模)

    排队论入门学习 xff08 for 数学建模 xff09 文字部分引用了很多浙大数学建模排队论ppt中的内容 xff0c 本人做个总结和代码实现 为什么研究排队论 xff1f 研究排队问题 xff0c 就是要把排队的时间控制到一定的程度内
  • 层次分析法(AHP)

    层次分析法 xff08 AHP xff09 问题的提出 日常生活中有许多决策问题 决策是指在面临多种方案时需要依据一定的标准选择某一种方案 购物 xff1a 买钢笔 xff0c 一般要依据质量 颜色 实用性 价格等方面的因素来选择某一只钢笔
  • 遗传算法解决TSP问题(c++实现)

    遗传算法 遗传算法简介 遗传算法 Genetic Algorithms xff0c 简称 GA 是一种基于自然选择原理和自然遗传机制的搜索 寻优 算法 xff0c 它是模拟自然界中的生命进化机制 xff0c 在人工系统中实现特定目标的优化
  • 灰色预测模型GM(1,1) 与例题分析

    灰色预测模型 灰色预测的概念 xff08 1 xff09 灰色系统 白色系统和黑色系统 白色系统是指一个系统的内部特征是完全已知的 xff0c 既系统信息是完全充分的 黑色系统是一个系统的内部信息对外界来说是一无所知的 xff0c 只能通过
  • 共轭梯度法的推导与完整算法

    共轭梯度法 学习自知乎 xff1a https www zhihu com question 27157047 and wikipedia and 非线性规划课 简介 在数值线性代数中 xff0c 共轭梯度法是一种求解对称正定线性方程组Ax
  • 随机森林算法学习(RandomForest)

    随机森林算法学习 最近在做kaggle的时候 xff0c 发现随机森林这个算法在分类问题上效果十分的好 xff0c 大多数情况下效果远要比svm xff0c log回归 xff0c knn等算法效果好 因此想琢磨琢磨这个算法的原理 要学随机
  • 锁存器芯片74HC573芯片的用法,及其在实际电路中的应用

    一 74HC573介绍 锁存器是一种对脉冲电平敏感的存储单元电路 xff0c 它们可以在特定输入脉冲电平作用下改变状态 锁存 xff0c 就是把信号暂存以维持某种电平状态 锁存器的最主要作用是缓存 xff0c 其次完成高速的控制器与慢速的外
  • 与信息熵相关的概念梳理(条件熵/互信息/相对熵/交叉熵)

    香农信息量 信息量表示不确定性的大小 信息量的单位是比特 xff08 bit xff09 香 农 信 息 量 61 log
  • 农业领域的知识图谱构建(Agriculture_KnowledgeGraph)

    Agriculture KnowledgeGraph demo xff1a http ecnukg vicp io github xff1a https github com qq547276542 Agriculture Knowledg
  • vue使用axios给echarts渲染数据不展示的解决方法;

    因为自己遇到了所以分享下解决办法 xff0c 也记一下笔记 xff1b 第一步 xff1a 1 这里首先引入Echarts组件 lt template gt lt div gt lt Echart options 61 34 options
  • 银河麒麟PyCharm中文设置

    银河麒麟自带的PyCharm xff08 社区版 xff09 可以设置成中文 xff0c 直接上图 在File Settings 在Plugins搜索 Chinese xff0c 下载安装后 xff0c 重启PyCharm xff0c 变成
  • Linux环境Nacos、SpringBoot项目jar包启动慢

    问题描述 xff1a 本地开发环境 测试环境服务可以正常启动 生产环境Nacos启动需要好几分钟 xff0c springboot项目启动前2分钟无日志输出 xff0c 启动时连接Nacos报错 Client not connected c
  • Python文档阅读笔记-Turn Images into Cartoons using Python

    本博文说明如何将图片转为卡通风格 1 导入依赖模块 在编程的第一步首先要导入依赖库 xff0c 在这个图像转换成卡通风格的程序中需要包含3个模块 xff0c 分别是openCV xff0c numpy xff0c matpoltlib im