在 Python 中使用 OpenCV 将图像转换为卡通风格
目前市场上有许多专业的漫画化应用程序,但大多数都不是免费软件。为了获得基本的卡通效果,我们只需要双边滤波器和一些边缘检测机制。双边滤波器将减少颜色调板,这对于卡通外观至关重要,并且边缘检测可产生粗体轮廓。
我们将使用 openCV python 库将 RGB 彩色图像转换为卡通图像。
算法
- 首先应用双边滤波器以减少图像的颜色调板。
- 然后将实际图像转换为灰度图像。
- 现在在灰度图像中应用中值模糊以减少图像噪声。
- 使用自适应阈值创建来自灰度图像的边缘掩码。
- 最后将步骤 1 生成的彩色图像与步骤 4 生成的边缘掩码组合起来。
原始图像
示例
结果
总结
这是一个非常基本的漫画化算法,但它可以产生相当令人印象深刻的结果。此外,由于我们使用了 openCV,因此您可以轻松地将此算法应用于视频流或摄像头捕获。
尝试将算法调整为自己的需求吧,如更改阈值、滤波器参数等,以获得所需的效果。