在OpenCV中将图像转换为彩色铅笔草图

Yan*_*ang 4 c c++ opencv image-processing

我想使用OpenCV将图像转换为彩色铅笔草图.我已经阅读了我想在OpenCV中将图像转换为铅笔素描的页面 .我寻求的效果就像http://www.showandtell-graphics.com/photosketch.html 我用代码颜色躲闪了

b_d = (b_2==255? 255: min(255, b_1*255 /(255- b_2)));        
g_d = (g_2==255? 255: min(255, g_1 *255/(255- g_2)));             
r_d = (r_2 ==255? 255: min(255, r_1 *255/(255- r_2)));  
Run Code Online (Sandbox Code Playgroud)

看起来效果不是很好.PLS帮助.

kar*_*lip 7

整个过程在您提供给我们的链接中详细说明,因此您需要3张图像才能实现此效果.

制作原始图像的副本并将其转换为灰度图像.

制作灰度图像的副本并反转此图像.

此时,图像#1是原始图像,图像#2是灰度图像,图像#3是反转图像.

然后,将颜色减淡应用于图像#3(使其变为白色)并执行模糊.仅此一项就可以获得灰度的铅笔素描效果.

如果要将最终结果着色,则必须图像#3与图像#1混合.

寻找有关混合的信息?检查这个,这个这个.