摘要:本文将介绍一个适用于零基础的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()
代码实现的主要步骤如下:
-
首先,我们使用
cv2.imread()
函数读取一张彩色照片,并保存在img
变量中 -
然后,我们使用
cv2.cvtColor()
函数将彩色照片转换为灰度图像,保存在grey
变量中 -
接着,我们使用
cv2.bitwise_not()
函数对灰度图像进行反转,保存在invert
变量中 -
接下来,我们使用
cv2.GaussianBlur()
函数对反转后的图像进行高斯模糊处理,保存在blur_img
变量中 -
然后,我们再次使用
cv2.bitwise_not()
函数对模糊图像进行反转,保存在inverse_blur
变量中 -
最后,我们使用
cv2.divide()
函数将原始灰度图像与反转的模糊图像进行除法运算,通过调整scale
参数来控制效果的强度,并将结果保存为素描图像 -
最后,我们使用
cv2.imwrite()
函数将素描图像保存为girl.jpg
文件,并使用cv2.destroyAllWindows()
函数关闭所有打开的窗口