当前位置:   article > 正文

使用OpenCV实现素描肖像_人脸素描opencv

人脸素描opencv

使用OpenCV实现素描肖像

素描风格

放几张素描图片
在这里插入图片描述

算法步骤

素描风格实现步骤:

  1. 转换为灰度图像:这一步是为了消除图片中的色彩信息,将其简化为黑白两色。通过去色处理,我们能够得到一个只包含亮度信息的灰度图像,这是素描风格的基础。
  2. 复制并反色:接下来,我们复制这个灰度图像图层,并对其应用反色操作。反色处理意味着将每个像素的亮度值取反,即原本亮的区域变暗,原本暗的区域变亮。这一步是为了在后续处理中强调图像的轮廓和细节。
  3. 高斯模糊处理:然后,对反色后的图像进行高斯模糊。高斯模糊是一种平滑图像的技术,通过它,我们可以减少图像中的细节和噪声,使轮廓更加柔和,模拟素描中的柔和阴影效果。
  4. 应用颜色减淡效果:最后,我们将原始灰度图像与模糊后的图像进行叠加,采用颜色减淡的混合模式。颜色减淡是一种图像处理技术,它通过增加图像的亮度来强调细节。具体地,对于每个像素点,我们按照公式

C=MIN(A+(A×B)/(255-B),255)

来计算混合结果。这里,A 是原始灰度图像的像素值,B 是模糊后图像的像素值。通过这个公式,我们可以根据原始图像和模糊图像的亮度值来计算新的像素值,从而得到具有素描风格的图像。

效果

在这里插入图片描述

源码

import cv2
import numpy as np


def sketch_style(img):
    gray0 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 转换为灰度图像
    height, width = gray0.shape  # 获取图像的高度和宽度

    # 创建一个与原图大小相同的全黑图像
    img2 = np.zeros((height, width), dtype=np.uint8)

    # 修正语法错误,添加图像叠加
    gray1 = cv2.addWeighted(gray0, -1, img2, 0, 255, dtype=cv2.CV_8U)

    # 高斯滤波
    gray1 = cv2.GaussianBlur(gray1, (11, 11), 0)

    # 再次叠加图像
    dst = cv2.addWeighted(gray0, 0.9, gray1, 0.6, 0)

    return dst  # 返回处理后的图像


def main():
    img_path = 'liu.jpg'
    img = cv2.imread(img_path)

    # 检查图片是否正确加载
    if img is None:
        print(f"Error: Unable to load image at {img_path}")
        return

    sketch_img = sketch_style(img)  # 调用素描风格函数

    # 显示原图和处理后的素描图
    cv2.imshow("Original Image", img)
    cv2.imshow("Sketch Style Image", sketch_img)

    # 等待任意按键,并添加小延迟以确保窗口更新
    cv2.waitKey(1)

    # 等待用户按键后关闭所有窗口
    cv2.waitKey(0)
    cv2.destroyAllWindows()


if __name__ == '__main__':
    main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/802199?site
推荐阅读
相关标签
  

闽ICP备14008679号