使用OpenCV生成简单的黑白素描画

为了将相机拍摄到的彩色图像转化为简单黑白粉笔画,我们需要使用图像处理中的融合技术,包括色彩减淡和色彩加深。

图片[1]-使用OpenCV生成简单的黑白素描画-山海云端论坛

一般来说,可以通过以下步骤将一张RGB彩色图转化为一张粉笔画:

将彩色图灰度化: 使用OpenCV将彩色图转换为灰度图像。

对灰度图进行反色操作: 对灰度图的每个像素点执行取反操作,即I‘=255-I。

对反色图执行高斯模糊: 使用高斯模糊去噪声,提升后续融合效果。

图片[2]-使用OpenCV生成简单的黑白素描画-山海云端论坛

灰度图与高斯模糊图进行融合: 通过融合技术实现素描效果。

以下是实现这些步骤的Python代码:

<code>import cv2 import numpy as np def render(img_rgb): # 彩色图像灰度化 img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY) # 灰度图反色 img_gray_inv = 255 - img_gray # 高斯模糊 img_blur = cv2.GaussianBlur(img_gray_inv, (21, 21), 0) # 灰度图与高斯模糊图进行融合 img_blend = cv2.divide(img_gray, 255 - img_blur, scale=256) return img_blend # 读取彩色图像 img_rgb = cv2.imread("sample.jpg") # 生成粉笔画效果图 sketch_img = render(img_rgb) # 显示结果 cv2.imshow('Pencil Sketch', sketch_img) cv2.waitKey(0) cv2.destroyAllWindows()</code>

通过上述步骤,我们可以将一张彩色图像转换为简单的黑白粉笔画效果图。
附其他效果图如下:

图片[3]-使用OpenCV生成简单的黑白素描画-山海云端论坛
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容