这篇教学会介绍使用 OpenCV 搭配 NumPy 的基本数学运算,透过影像遮罩的方式,实现影像边缘羽化的效果 ( 边缘模糊化效果 )。
使用 np.zeros 建立黑色画布后,在画布中心加入白色的圆形,接着进行高斯模糊,就完成一张边缘模糊的遮罩图片。
import cv2
因为 OpenCV 的遮罩方法 ( 参考“影像遮罩” ) 所产生的遮罩“不具有半透明”的功能,因此如果要实现边缘渐层半透明的边缘羽化效果,必须根据黑色白色的比例进行主角与背景的混合,下方的程式码执行后,会读取一张和遮罩同样尺寸的图片,以及产生同尺寸的一张白色背景,根据遮罩的黑白比例,将白**域套用到图片,将黑**域套用到背景,就能产生边缘羽化的图片效果
更换背景图案,就可以做出边缘羽化的合成效果。