zoukankan      html  css  js  c++  java
  • (20)sopel算法

    基础知识的理论,主要看这个博客:https://blog.csdn.net/github_38140310/article/details/68959931

    然后代码展示:

     1 #include "opencv2/imgproc/imgproc.hpp"
     2 #include "opencv2/highgui/highgui.hpp"
     3 #include <stdlib.h>
     4 #include <stdio.h>
     5 
     6 using namespace cv;
     7 
     8 /** @function main */
     9 int main()      //int argc, char** argv
    10 {
    11 
    12     Mat src, src_gray;
    13     Mat grad;
    14     //char* window_name = "Sobel Demo - Simple Edge Detector";
    15     int scale = 1;
    16     int delta = 0;
    17     int ddepth = CV_16S;
    18 
    19     //int c;
    20 
    21     /// 装载图像
    22     src = imread("C:\Users\32829\Desktop\aa.jpg");
    23 
    24     if (!src.data)
    25     {
    26         return -1;
    27     }
    28 
    29     GaussianBlur(src, src, Size(3, 3), 0, 0, BORDER_DEFAULT);
    30 
    31     /// 转换为灰度图
    32     cvtColor(src, src_gray, CV_RGB2GRAY);
    33 
    34     /// 创建显示窗口
    35     namedWindow("原图", CV_WINDOW_AUTOSIZE);
    36 
    37     /// 创建 grad_x 和 grad_y 矩阵
    38     Mat grad_x, grad_y;
    39     Mat abs_grad_x, abs_grad_y;
    40 
    41     /// 求 X方向梯度
    42     //Scharr( src_gray, grad_x, ddepth, 1, 0, scale, delta, BORDER_DEFAULT );
    43     Sobel(src_gray, grad_x, ddepth, 1, 0, 3, scale, delta, BORDER_DEFAULT);
    44     convertScaleAbs(grad_x, abs_grad_x);
    45 
    46     /// 求Y方向梯度
    47     //Scharr( src_gray, grad_y, ddepth, 0, 1, scale, delta, BORDER_DEFAULT );
    48     Sobel(src_gray, grad_y, ddepth, 0, 1, 3, scale, delta, BORDER_DEFAULT);
    49     convertScaleAbs(grad_y, abs_grad_y);
    50 
    51     /// 合并梯度(近似)
    52     addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad);
    53     imshow("原图", grad);
    54     //imwrite("testout.jpg", grad);
    55     waitKey(0);
    56 
    57     return 0;
    58 }

    =========================================

    结果展示:
    ============================================

  • 相关阅读:
    Windows Service开发介绍
    解决Vuex持久化插件-在F5刷新页面后数据不见的问题
    selenium+python 安装使用
    字符串拆分姓名、电话、省市区逻辑
    常用正则表达式大全——包括校验数字、字符、特殊密码过滤
    uni-app 地图初用 map
    前端常见手写笔试题
    数组去重和排序
    js获取当前时间年份,处理年月日
    js循环匹配组合成新对象或js循环组合新数据
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/10196154.html
Copyright © 2011-2022 走看看