📜  将图像转换为草图(1)

📅  最后修改于: 2023-12-03 15:25:17.324000             🧑  作者: Mango

将图像转换为草图

在这个项目中,我们将探讨如何使用 Python 中的 OpenCV 库将一张图像转换成草图。

什么是草图

草图是一种黑白的、画风自然的艺术风格,通常是利用铅笔、木炭等工具绘制。草图特别注重描绘形态和轮廓,并强调细节的表现。

如何将图像转换成草图

将图像转换成草图的过程通常可以分为以下步骤:

  1. 将彩色图像转换成灰度图像
  2. 将灰度图像进行高斯模糊处理
  3. 将高斯模糊处理后的图像进行边缘检测
  4. 将边缘检测后的图像进行二值化处理
  5. 将二值化后的图像颜色反转,使其变成黑白的草图

下面是使用 Python 中的 OpenCV 库实现以上步骤的代码:

import cv2

# 读入图像
img = cv2.imread('test.jpg')

# 将彩色图像转换成灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 将灰度图像进行高斯模糊处理
blur_img = cv2.GaussianBlur(gray_img, (7, 7), 0)

# 将高斯模糊处理后的图像进行边缘检测
canny_img = cv2.Canny(blur_img, 50, 150)

# 将边缘检测后的图像进行二值化处理
ret, thresh_img = cv2.threshold(canny_img, 127, 255, cv2.THRESH_BINARY)

# 将二值化后的图像颜色反转,使其变成黑白的草图
inverted_img = cv2.bitwise_not(thresh_img)

# 显示结果图像
cv2.imshow('original image', img)
cv2.imshow('sketch image', inverted_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
结语

这是一个简单的草图生成的示例。通过这个例子,我们可以看到使用 OpenCV 进行图像处理是多么简单和有趣。希望这个教程对你有所帮助!