ps制作毛玻璃效果(跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效)
摘要:本文讲解常见的图像特效处理 ,从而让读者实现各种各样的图像特殊效果 ,并通过Python和OpenCV实现 。
本文分享自华为云社区《[Python图像处理] 二十四.图像特效处理之毛玻璃 、浮雕和油漆特效》 ,作者:eastmount 。
一.图像毛玻璃特效
图像毛玻璃特效如图所示 ,左边为原始图像 ,右边为毛玻璃特效图像 。它是用图像邻域内随机一个像素点的颜色来替代当前像素点颜色的过程 ,从而为图像增加一个毛玻璃模糊的特效 。
PS:该图片为作者去喀纳斯拍摄 ,真心美!
Python实现代码主要是通过双层循环遍历图像的各像素点 ,再用定义的随机数去替换各邻域像素点的颜色 ,具体代码如下所示 。
二.图像浮雕特效
图像浮雕特效是仿造浮雕艺术而衍生的处理 ,它将要呈现的图像突起于石头表面 ,根据凹凸程度不同形成三维的立体效果 。Python绘制浮雕图像是通过勾画图像的轮廓 ,并降低周围的像素值,从而产生一张具有立体感的浮雕效果图 。传统的方法是设置卷积核 ,再调用OpenCV的filter2D()函数实现浮雕特效 。该函数主要是利用内核实现对图像的卷积运算 ,其函数原型如下所示:
dst = filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]])
src表示输入图像 dst表示输出的边缘图,其大小和通道数与输入图像相同 ddepth表示目标图像所需的深度 kernel表示卷积核 ,一个单通道浮点型矩阵 anchor表示内核的基准点 ,其默认值为(-1 ,-1) ,位于中心位置 delta表示在储存目标图像前可选的添加到像素的值 ,默认值为0 borderType表示边框模式核心代码如下:
本小节将直接对各像素点进行处理 ,采用相邻像素相减的方法来得到图像轮廓与平面的差 ,类似边缘的特征 ,从而获得这种立体感的效果 。为了增强图片的主观感受 ,还可以给这个差加上一个固定值 ,如150 。实现效果如图所示 。
Python通过双层循环遍历图像的各像素点 ,使用相邻像素值之差来表示当前像素值 ,从而得到图像的边缘特征,最后加上固定数值150得到浮雕效果 ,具体代码如下所示 。
三.图像油漆特效
图像油漆特效类似于油漆染色后的轮廓图形 ,它主要采用自定义卷积核和cv2.filter2D()函数实现,Python实现代码主要通过Numpy定义卷积核 ,再进行特效处理 ,卷积核如公式(13-1)所示 ,其中心权重为10 ,其余值均为-1。
完整代码如下所示:
输出结果如下图所示:
参考文献:
《数字图像处理》(第3版) ,冈萨雷斯著 ,阮秋琦译 ,电子工业出版社 ,2013年. 《数字图像处理学》(第3版) ,阮秋琦 ,电子工业出版社 ,2008年 ,北京. 《OpenCV3编程入门》,毛星云 ,冷雪飞 ,电子工业出版社,2015 ,北京. Eastmount - [Android] 通过Menu实现图片怀旧 、浮雕 、模糊 、光照和素描效果 有苦向瓜诉说 - 用Python来画浮雕画点击关注 ,第一时间了解华为云新鲜技术~
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!