一、概述
实现素描效果的步骤:
1.将输入图像转换为灰度图像
2.使用滤波(中值滤波、高斯滤波)去除图像噪声
3.使用拉普拉斯算子进行边缘描述
4.使用二值分割去除无用噪声
5.输出图像并展示
二、源码示例
/**
* 素描
* @param inputImagePath
*/
void showSketchImage(char *inputImagePath) {
//原图
Mat src = imread(inputImagePath);
//灰度图像
Mat gray;
cvtColor(src, gray, COLOR_BGR2GRAY);
//使用中值滤波器进行平滑处理
medianBlur(gray, gray, 7);
//使用拉普拉斯算子进行边缘检测
Mat edges_Image;
Laplacian(gray, edges_Image, CV_8U, 5);
//输出原图
imshow("src", src);
waitKey(0);
imshow("edges_Image", edges_Image);
waitKey(0);
//使图像更像素描,作二进制处理,高低阈值处理
Mat result;
threshold(edges_Image, result, 80, 255, THRESH_BINARY_INV);
imshow("Sketch", result);
waitKey(0);
}
三、效果图
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓