Python中的OpenCV实现了许许多多高大上的功能(当然我还不会),人脸识别,图像处理 ,还有计算机视觉方面的处理等等。OpenCV是C++编写的,所以其主要接口也是C++语言 , 但是依然保留了大量的C语言接口 ,该库中也包含了大量Python、Java、MATLAB的接口,现在又增加了对C#和Ruby等语言的支持,总的来说就是很强大。
今天说的就是OpenCV对图片的处理,间接相当于P图吧(由于自己技术不够,只能对图片进行美白处理)。
编辑器选用的是sublime,电脑安装python环境,下载opencv的包,其实几行代码就可以解决了。
首先是导入opencv的包,然后开始读入需要美化的图片 :
然后需要用到的就是一个神奇的函数,bilateralFilter是双边滤波,是众多滤波函数中的一种,双边滤波是一种保边去噪的滤波器,之所以可以达到去噪效果是因为滤波器是由两个函数构成。一个函数是由几何空间的距离决定滤波器系数。另一个由像素差值决定滤波器系数,可以与其相比较的两个filter :高斯低通滤波器和α-截尾均值滤波器(不懂不懂)。
函数原型为 :
void bilateralFilter(image,d,"p1","p2")
其中bilateralFilter的第一个参数是穿入的图像
第二个参数是领域直径
第三个和第四个参数是空间高斯函数标准差和灰度值相似性高斯函数标准差
以上就完成了对图片的基本美化(等以后学的更好了,就可以用Python来代替P图软件了),下面是对比图(感觉变化不大,就是变白了一点,还磨皮了一下下,其中左边是经过处理的,右边是未处理的) :