本文主要是介绍opencv实现图片的素描化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
流程比较简单,图片的灰度化--中值滤波--拉普拉斯滤波检测边缘--二值化
Mat image = imread("lin.jpg",1);//灰度图cvtColor(image, image, CV_BGR2GRAY);const int iMediaFilterSize = 7;//中值滤波medianBlur(image, image, iMediaFilterSize);const int iLaplaceFilterSize = 5;Mat edge;//拉普拉斯滤波,进行边缘检测Laplacian(image, edge, CV_8U, iMediaFilterSize);//Mat mask;const int iEdgeThrehold = 80;//图像的二值化threshold(edge, mask, iEdgeThrehold, 255, THRESH_BINARY_INV);imshow("lin", mask);
效果如下,左侧为原图,右侧为素描图
这篇关于opencv实现图片的素描化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!