bool sobelEdge(const cv::Mat&  srcImage, cv::Mat& resultImage,uchar threshold)
{CV_Assert(srcImage.channels() == 1);// 初始化水平核因子Mat sobelx =  (Mat_<double>(3, 3) << 1, 0,-1, 2, 0, -2, 1, 0, -1);// 初始化垂直核因子Mat sobely =  (Mat_<double>(3, 3) << 1, 2, 1,0, 0, 0, -1, -2, -1);resultImage = Mat::zeros(srcImage.rows - 2, srcImage.cols - 2, srcImage.type());double edgeX  = 0;double edgeY  = 0;double graMag = 0;for(int k = 1; k < srcImage.rows - 1; ++k){for(int n = 1; n < srcImage.cols - 1; ++n){edgeX = 0;edgeY = 0;// 遍历计算水平与垂直梯度for(int i = -1; i <= 1; ++i){for(int j = -1; j <= 1; ++j){edgeX += srcImage.at<uchar>(k + i, n + j) *sobelx.at<double>(1 + i, 1 + j);edgeY += srcImage.at<uchar>(k + i, n + j) * sobely.at<double>(1 + i, 1 + j);}}// 计算梯度模长graMag = sqrt(pow(edgeY, 2) + pow(edgeX, 2));// 二值化resultImage.at<uchar>(k - 1, n - 1) =((graMag > threshold)? 255 : 0 );}}return true;
}

转载:http://blog.csdn.net/zhuwei1988

图像直接卷积 Sobel 边缘实现相关推荐

  1. 使用cv2.Sobel()、cv2.Scharr()、cv2.Laplacian()寻找图像的梯度、边缘

    Python,OpenCV寻找图像的梯度.边缘 1. 效果图 2. 源码 参考 这篇博客将介绍如何使用cv2.Sobel().cv2.Scharr().cv2.Laplacian()寻找图像的梯度.边 ...

  2. Sobel 边缘实现

    #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include "o ...

  3. Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子

    确定图像中的物体边界的一种方法是先检测每个像素和其直接淋雨的状态已决定该像素是否确实处于一个物体的边界上.具有这种特性的像素被标记为边缘点.当图像中各个像素的灰度级用来反映各像素要求的程度时,这种图像 ...

  4. 图像边缘检测-Canny,Sobel等算子

    一.前言 首先我们先来简单了解一下什么是数字图像处理(Digital Image Processing),先看一下数字图像主要的两个应用领域: 1.改善图示信息以便人们解释: 2.为存储.传输和表示而 ...

  5. OpenCV图像梯度(Sobel和Scharr)

    OpenCV图像梯度(Sobel和Scharr) 1 图像梯度是什么? 2 图像梯度的用途 3 图像梯度的使用 参考 这篇博客将介绍图像渐变以及如何使用OpenCV的cv2.Sobel计算Sobel渐 ...

  6. 理解图像中卷积操作的含义

    原文地址:https://blog.csdn.net/chaipp0607/article/details/72236892?locationNum=9&fps=1 上文用生动的例子来解释卷积 ...

  7. opencv 对图像进行卷积

    卷积 什么是二维卷积呢?看下面一张图就一目了然: 卷积就是循环对图像跟一个核逐个元素相乘再求和得到另外一副图像的操作,比如结果图中第一个元素5是怎么算的呢?原图中3×3的区域与3×3的核逐个元素相乘再 ...

  8. em算法 图像模糊检测_基于EM算法的眼底OCT图像反卷积去模糊技术

    引言 光学相干层析成像技术(Optical coherence tomography, OCT)作为一种发展迅速的视网膜检查手段,具有分辨率高.灵敏性强.成像速度快.检查方便以及对眼睛无伤害等特点[. ...

  9. 卷积 对图像进行卷积操作 卷积神经网络

    目录 卷积 对图像进行卷积操作 卷积神经网络 卷积(Filtering) 池化(下采样)(Pooling) 修正线性单元(Rectified Linear Units)(ReLus激活函数) 全连接层 ...

最新文章

  1. 005-Python之列表,元组,字符串,bytes及bytearray共有操作
  2. 只用1/500数据就打败人类!一种采样高效的强化学习算法 | 报告详解
  3. fiddler工具之Filters
  4. Oracle-Listener log解读
  5. Django 3.2.5博客开发教程:使用富文本编辑器添加数据
  6. BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能...
  7. TCP/IP详解学习笔记(2)-数据链路层
  8. JQ表单序列化变成 对象
  9. 从壹开始 [Admin] 之五 ║ 实现『按钮』级别权限配置
  10. 用python文本挖掘分析_文本挖掘和文本分析的九大应用场景
  11. sentry-前端应用监控工具
  12. WPF_界面_图片/界面/文字模糊解决之道整理
  13. 三极管开关电路_简析三极管开关电路设计
  14. 【CMake】CMakeList编写整理
  15. 用js改变网页的背景颜色
  16. ipad为什么会闪退?有哪些办法可以修复ipad闪退问题?
  17. 2020-12-31
  18. 微信JS-SDK说明文档 能调用微信扫一扫 ,那能不能让浏览器支持微信支付呢
  19. 六、python实现日语单词索引:查询单词对应的课
  20. 医学统计学中RR、OR和HR三个关于比值的概念

热门文章

  1. 做为程序员对sql进行的性能优化
  2. 217. 验证码 demo
  3. Hyperledger Grid:一个用于分布式供应链解决方案的框架
  4. Linux上实现ssh免密码登陆远程服务器
  5. 20155222卢梓杰 实验三 免杀原理与实践
  6. 再测Golang的JSON库
  7. 第一章 软件自动化测试的基础知识
  8. 今天开始记录自己苹果开发博客旅程!~
  9. poj_2479 动态规划
  10. Ejabberd源码解析前奏--配置