有没有人知道我们是否可以将使用相机拍摄的真实图像转换为卡通风格?
请注意,我的目标不是创建动画或类似物,而只是在可能的情况下将其转换为“卡通颜色”。
简单的重新量化到存在较少量化级别的空间中能否奏效?或者其他特定的转换更好?
任何帮助都将很有用,因为我找不到任何相关材料。
提前感谢。
有没有人知道我们是否可以将使用相机拍摄的真实图像转换为卡通风格?
请注意,我的目标不是创建动画或类似物,而只是在可能的情况下将其转换为“卡通颜色”。
简单的重新量化到存在较少量化级别的空间中能否奏效?或者其他特定的转换更好?
任何帮助都将很有用,因为我找不到任何相关材料。
提前感谢。
cv::Mat segmented, gray, edges;
cv::pyrMeanShiftFiltering(input, segmented, 15, 40);
cv::cvtColor(segmented, gray);
cv::Canny(gray, edges, 150, 150);
cv::cvtColor(edges, edgesBgr, CV_GRAY2BGR);
cv::Mat result = bgr - edgesBgr;
完全靠猜的:
这是未经测试的。我可能在胡说八道...但是如果可以工作,应该非常低的CPU使用率。这似乎是一种用滑块调整步骤2-4所需值并进行微调的方法。
编辑:一个朋友指出你可能还想要在物体周围画出线条。我第一个想法是使用cvCanny选择边缘(需要灰度图像...我不确定在HSV卡通之前或之后做这件事情更好)。它们将是单个像素宽,可能不够宽,因此您可能需要用dilate稍微加宽它们。它们将是黑色背景上的白色,因此您可以从卡通染色图像中减去它们,这将把线所在的像素降至0(饱和算术救援),但保留其他像素。
你提到的“卡通空间”让我想到,也许你可以从这个想法开始:
这个任务相对容易。以下是步骤:
我放了一些免费软件(适用于win64),可以完全做到这一点http://3dstereophoto.blogspot.com/p/painting-software.html。它叫做“卡通画家”。
如果你想看《漫画家》,可以查看http://3dstereophoto.blogspot.com/2018/07/non-photorealistic-rendering-software_9.html。它展示了一个例子的所有步骤。
明确一下,这些是指向我的博客链接,主要涉及3D摄影(深度图,摄影测量等)。我喜欢绘画,也在图像非真实渲染(npr)方面进行研究。