当前位置: 首页 > article >正文

Python实现图片素描效果生成器

摘要:本文将介绍一个适用于零基础的Python代码,用于将彩色照片转换为黑白素描效果。通过使用OpenCV库中的图像处理函数,我们可以轻松地将一张普通的彩色照片转变为生动有趣的素描效果

1. 引言

在这个数字化时代,人们对于照片的需求越来越多样化,不再满足于普通的彩色照片。相比于传统的彩色照片,黑白素描照片更具有艺术感和情感表达的效果。本文将向您展示如何使用Python编写一个简单的图像处理代码,将彩色照片转换为黑白素描效果。

2. 准备工作

在开始之前,我们需要安装OpenCV库。通过以下命令来安装:

pip install opencv-python

3. 代码实现

下面是我们的Python代码实现:

#!/usr/bin/env python3
# coding:utf-8
import cv2

path = r'img.png'
img = cv2.imread(path)
grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
invert = cv2.bitwise_not(grey)

blur_img = cv2.GaussianBlur(invert, (7, 7), 120)
inverse_blur = cv2.bitwise_not(blur_img)
sketch_img = cv2.divide(grey, inverse_blur, scale=120)

cv2.imwrite('girl.jpg', sketch_img)
cv2.destroyAllWindows()

代码实现的主要步骤如下:

  1. 首先,我们使用cv2.imread()函数读取一张彩色照片,并保存在img变量中

  2. 然后,我们使用cv2.cvtColor()函数将彩色照片转换为灰度图像,保存在grey变量中

  3. 接着,我们使用cv2.bitwise_not()函数对灰度图像进行反转,保存在invert变量中

  4. 接下来,我们使用cv2.GaussianBlur()函数对反转后的图像进行高斯模糊处理,保存在blur_img变量中

  5. 然后,我们再次使用cv2.bitwise_not()函数对模糊图像进行反转,保存在inverse_blur变量中

  6. 最后,我们使用cv2.divide()函数将原始灰度图像与反转的模糊图像进行除法运算,通过调整scale参数来控制效果的强度,并将结果保存为素描图像

  7. 最后,我们使用cv2.imwrite()函数将素描图像保存为girl.jpg文件,并使用cv2.destroyAllWindows()函数关闭所有打开的窗口

4. 运行结果


http://www.kler.cn/a/271735.html

相关文章:

  • ChatGPT与GPT的区别与联系
  • 【编译原理实验二】——自动机实验:NFA转DFA并最小化
  • DeepSeek-R1本地部署笔记
  • 【张雪峰高考志愿填报】合集
  • JVM栈溢出线上环境排查
  • Vuex中的getter和mutation有什么区别
  • 《LeetCode热题100》笔记题解思路技巧优化_Part_3
  • IBatis和Mybatis、Mybatis-Plus
  • sqllab第三十四关通关笔记
  • AI预测-一文解析AI预测数据工程
  • Vue中的Vnode虚拟Dom一文详解
  • Qt QTableWidget 实现行选中及行悬浮高亮
  • Java双非大二找实习记录
  • Java面试题总结13之spring cloud负载均衡算法,类型
  • MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
  • HarmonyOS NEXT应用开发—Grid和List内拖拽交换子组件位置
  • MySQL Binlog 日志的三种格式详解
  • python--剑指offer--15. 二进制中1的个数
  • 网络学习:IPV6地址详解
  • 『scrapy爬虫』05. 使用管道将数据写入mysql(详细注释步骤)
  • Jenkins: 配合docker来部署项目
  • 【前端】CSS常见的选择器
  • JAVA初阶数据结构栈(工程文件后续会上传)(+专栏数据结构练习是完整版)
  • 【设计模式】Java 设计模式之装饰者模式(Decorator)
  • 浅谈C/C++的常量const、指针和引用问题
  • 用Stable Diffusion生成同角色不同pose的人脸