zoukankan      html  css  js  c++  java
  • OpenCV实现素描效果

    一、概述

      实现素描效果的步骤:

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

    三、效果图

  • 相关阅读:
    移动端meta标签
    document.ready 和 window.onload
    axios 源码分析
    vue 中的 el
    安卓和Ios 手机兼容性
    一些移动端问题
    Python 局部变量与全局变量
    Linux常用命令大全(非常全!!!)
    Python_爬虫_基础
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/14844836.html
Copyright © 2011-2022 走看看