为了将相机拍摄到的彩色图像转化为简单黑白粉笔画,我们需要使用图像处理中的融合技术,包括色彩减淡和色彩加深。
一般来说,可以通过以下步骤将一张RGB彩色图转化为一张粉笔画:
将彩色图灰度化: 使用OpenCV将彩色图转换为灰度图像。
对灰度图进行反色操作: 对灰度图的每个像素点执行取反操作,即I‘=255-I。
对反色图执行高斯模糊: 使用高斯模糊去噪声,提升后续融合效果。
灰度图与高斯模糊图进行融合: 通过融合技术实现素描效果。
以下是实现这些步骤的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>
通过上述步骤,我们可以将一张彩色图像转换为简单的黑白粉笔画效果图。
附其他效果图如下:
© 版权声明
THE END
暂无评论内容