zoukankan      html  css  js  c++  java
  • 13. 用Roberts、Sobel、Prewitt和Laplace算子对一幅灰度图像进行边缘检测。观察异同。

    #include <opencv2/opencv.hpp>
    #include<opencv2/highgui/highgui.hpp>
    #include<opencv2/imgproc/imgproc.hpp>
    using namespace cv;
    int main()
    {
        Mat grad_x, grad_y;
        Mat abs_grad_x, abs_grad_y, dst, src_gray, abs_dst;
        Mat src = imread("6013202130.jpg");  //工程目录下应该有一张名为1.jpg的素材图
        imshow("【原始图】sobel边缘检测", src);
        Sobel(src, grad_x, CV_16S, 1, 0, 3, 1, 1, BORDER_DEFAULT);
        convertScaleAbs(grad_x, abs_grad_x);
        Sobel(src, grad_y, CV_16S, 0, 1, 3, 1, 1, BORDER_DEFAULT);
        convertScaleAbs(grad_y, abs_grad_y);
        addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, dst);
        imshow("【效果图】整体方向Sobel", dst);
        GaussianBlur(src, src, Size(3, 3), 0, 0, BORDER_DEFAULT);
        cvtColor(src, src_gray, CV_RGB2GRAY);
        Laplacian(src_gray, dst, CV_16S, 3, 1, 0, BORDER_DEFAULT);
        convertScaleAbs(dst, abs_dst);
        imshow("【效果图】图像Laplace变换", abs_dst);
        waitKey(0);
        return 0;
    }

  • 相关阅读:
    数组
    2017.3.20for
    PHP基础2
    php基础1
    触发器
    SQL储存过程
    范式
    时间戳
    主键和外键
    15 大图轮播
  • 原文地址:https://www.cnblogs.com/zhangfeionline/p/5465237.html
Copyright © 2011-2022 走看看