论如何把自己变成卡通人物(OpenCV制作卡通化头像)

本文通过OpenCV实现将普通照片转化为卡通效果,主要步骤包括图像灰度化、边缘检测(Canny、Laplacian、Scharr、Sobel)、二值化、平滑处理和边缘凸显。通过双边滤波器多次处理得到平滑图像,再与边缘图像进行与操作,最终形成卡通效果。

原文链接:http://www.juzicode.com/python-funny-opencv-cartoon-profile-photo/

hello,大家好,我是桔子菌。

桔子菌前面发布了一些OpenCV方面的教程文章,稍显枯燥乏味了些,今天我们用OpenCV做个好玩的东东,看看怎么将普通的照片变成卡通化一些。

我们先来观察下卡通图像的特点,再根据卡通图像的特点从普通图像反推处理过程。

上图是一张典型的卡通人物头像,从图像可以看到人脸的轮廓非常分明,脸颊、下巴等和背景、头发区分明显,但是人脸内部则颜色比较均匀一致,转换成图像处理的行话就是边界明显、内部平滑。

所以拿到一张图像首先是要做边缘检测找到边界,然后就是平滑处理,最后将二者结合,下面介绍下具体的处理过程。

如果没有安装过OpenCV第三方库,先用pip命令进行安装:

pip install opencv-python

首先是一些预处理,从文件中获取图像,然后对图片做缩放,图像高度统一缩放到一定的高度值,宽度则做同比例缩放。

    #读取图片
    img_raw = cv2.imread(fn_raw)     
    
    #缩放图片
    HEIGHT_MAX = 500
    height,width,_ = img_raw.shape
    ration
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值