码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV实现素描效果

时间:2021-06-03 18:12:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:color   mic   loading   示例   噪声   拉普拉斯算子   图像转换   分割   bsp   

一、概述

  实现素描效果的步骤:

  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);
}

 

三、效果图

技术图片

 

OpenCV实现素描效果

标签:color   mic   loading   示例   噪声   拉普拉斯算子   图像转换   分割   bsp   

原文地址:https://www.cnblogs.com/tony-yang-flutter/p/14844836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!