OpenCV实现图像转换为素描效果 | 您所在的位置:网站首页 › 把照片转化为素描 › OpenCV实现图像转换为素描效果 |
OpenCV图像转素描 我们在一些相机APP的功能里会看到有把照片转换为素描效果的,看起来就很高大上的感觉,今天我们也用OpenCV实现一下这个效果。 实现效果 ![]() 先上一张经典的Lena的图片转换为素描效果的图片,左边是原图的效果,右边就是我们通过OpenCV的几行代码实现的一个素描的效果。 实现流程 微卡智享 图像转为素描的流程其实也挺简单的,一共就是四步即可实现。 # 实现流程 1 图像去色(转为灰度图) 2 图像取反 3 将取反后的图像进行高斯模糊 4 去色后的图像(灰度图)和取反模糊后的图像以混合模式为颜色减淡进行融合 代码实现 微卡智享 新建一个opencvsrctosumiao的项目,配置参见《VS2017配置OpenCV通用属性》 ![]() 01 图像去色 ![]() 02 图像取反 实现图像取反可以有三种方式: 遍历像素值直接用255去减 代码语言:javascript复制gray_inverse = Scalar(255, 255, 255) - gray;使用subtract函数 代码语言:javascript复制subtract(Scalar(255, 255, 255), gray, gray_inverse);通地位运算直接取反代码语言:javascript复制gray_inverse = ~gray;取反后的效果 ![]() 03 将取反后的图像进行高斯模糊 ![]() 对取反后的图像我们做一个高斯模糊,上图中的Size(15,15)和后面的两个50的参数可以自己根据实际情况设置,我这边试了几个后觉得这个效果还不错,就采用这两个值了。 高斯模糊后的效果 ![]() 04 颜色减淡进行融合 ![]() 上面这行代码也是在网上看到的,实现了颜色减淡的效果,致敬大牛。 颜色减淡效果 ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |