Scharr算子

在离散的空间上,有很多方法可以用来计算近似导数,在使用 3×3 的 Sobel 算子时,可能计算结果并不太精准。OpenCV 提供了 Scharr 算子,该算子具有和 Sobel 算子同样的速度,且精度更高。可以将 Scharr 算子看作对 Sobel 算子的改进,其核通常为:

OpenCV 提供了函数 cv2.Scharr()来计算 Scharr 算子,其语法格式如下:

dst = cv2.Scharr( src, ddepth, dx, dy[, scale[, delta[, borderType]]] )

其中:
 dst 代表输出图像。
 src 代表原始图像。
 ddepth 代表输出图像深度。该值与函数 cv2.Sobel()中的参数 ddepth 的含义相同。
 dx 代表 x 方向上的导数阶数。
 dy 代表 y 方向上的导数阶数。
 scale 代表计算导数值时的缩放因子,该项是可选项,默认值是 1,表示没有缩放。
 delta 代表加到目标图像上的亮度值,该项是可选项,默认值为 0。
 borderType 代表边界样式。
函数 cv2.Scharr()和函数 cv2.Sobel()的使用方式基本是一致的。需要注意的是,参数 ddepth 的值应该设置为“cv2.CV_64F”,并对函数 cv2.Scharr()的计算结果取绝对值,才能保证得到正确的处理结果。具体语句为:

dst=Scharr(src, cv2.CV_64F, dx, dy)
dst= cv2.convertScaleAbs(dst)

示例:
使用函数 cv2.Scharr()获取图像水平方向的边缘信息。

import cv2
o = cv2.imread('scharr.bmp',cv2.IMREAD_GRAYSCALE)
scharrx = cv2.Scharr(o,cv2.CV_64F,1,0)
scharrx = cv2.convertScaleAbs(scharrx)   # 转回uint8
cv2.imshow("original",o)
cv2.imshow("x",scharrx)
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:


使用函数 cv2.Scharr()获取图像垂直方向的边缘信息。

import cv2
o = cv2.imread('scharr.bmp',cv2.IMREAD_GRAYSCALE)
scharry = cv2.Scharr(o,cv2.CV_64F,0,1)
scharry = cv2.convertScaleAbs(scharry)
cv2.imshow("original",o)
cv2.imshow("y",scharry)
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:

使用函数 cv2.Scharr()实现水平方向和垂直方向边缘叠加的效果。

import cv2
o = cv2.imread('scharr.bmp',cv2.IMREAD_GRAYSCALE)
scharrx = cv2.Scharr(o,cv2.CV_64F,1,0)
scharry = cv2.Scharr(o,cv2.CV_64F,0,1)
scharrx = cv2.convertScaleAbs(scharrx)   # 转回uint8
scharry = cv2.convertScaleAbs(scharry)
scharrxy =  cv2.addWeighted(scharrx,0.5,scharry,0.5,0)
cv2.imshow("original",o)
cv2.imshow("xy",scharrxy)
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:

OpenCV图像梯度——Scharr算子(cv2.Scharr())相关推荐

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

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

  2. OpenCV——图像梯度与边缘检测(python实现)

    OpenCV--图像梯度与边缘检测 6.1 简介 严格的说,梯度计算需要求导数.但是图像梯度的计算,是通过计算像素值的差得到梯度的近似值.图像梯度表示的是图像变化的速度,反映了图像的边缘信息. 边缘是 ...

  3. OpenCV 图像梯度 Sobel、Scharr、Laplacian

    概念: 梯度简单来说就是求导,在图像上表现出来的就是提取图像的边缘(不管是横向的.纵向的.斜方向的等等),所需要的无非也是一个核模板,模板的不同结果也不同.所以可以看到,所有的这些个算子函数,归结到底 ...

  4. OpenCV 图像梯度 :cv2.Sobel(),cv2.Schar(),cv2.Laplacian() + 数据类型设置:cv2.CV_8U,cv2.CV_16S,cv2.CV_64F

    原理: 梯度本质上就是导数.OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr 和Laplacian.Sobel,Scharr 其实就是求一阶或二阶导数.Scharr ...

  5. OpenCV图像梯度算子

            梯度简单来说就是求导.         OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr 和 Laplacian.         Sobel,Sc ...

  6. 基于Python的Opencv图像梯度处理

    图像梯度直观反应其实就是图像当中各物体的轮廓,而在像素点上的体现其实就是相邻像素点之间的差值,差值越大,轮廓就会越清晰(可用于图像增强),而Opencv提供了以下三种算子来进行图像的梯度处理,跟在之前 ...

  7. opencv 图像梯度(python)

    图像梯度 图像梯度 Sobel理论基础 计算水平方向偏导数的近似值 计算垂直方向偏导数的近似值 Sobel算子及函数使用 注意点:参数ddepth 方向 计算x方向和y方向的边缘叠加 Scharr算子 ...

  8. 数字图像处理:(1)图像梯度以及算子应用

    1.数学意义上的梯度 在理解图像梯度是什么的时候,我们首先要回忆一下以前学习过得梯度是什么? 见链接: https://blog.csdn.net/m0_37957160/article/detail ...

  9. OpenCV--033_2: 图像梯度--Sobel算子

    索贝尔算子(Sobel operator) 主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值.在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量. So ...

  10. OpenCV-Python图像梯度 Sobel算子

    图像的梯度计算的是图像变化的速度,对于边缘部分呢灰度值变换大,梯度值也大,相反则灰度值变化小,梯度值小 Sobel算子是一种离散的微分算子,该算子结合了高斯平滑处理和微分求导运算. 该算子利用局部差寻 ...

最新文章

  1. android imageview 的常用属性,android imageview scaletype属性
  2. Git环境搭建及简单的本地、远程 两库关联
  3. 软件开发项目进度控制浅谈
  4. 隐藏层节点数对迭代次数分布规律的影响
  5. [react] 说说你对windowing的了解
  6. 怎么快速搜索服务器里的文件,使用 Everything,快速搜索电脑文件,制作局域网资料搜索器 | 科技搜...
  7. 信息学奥赛一本通(1126:矩阵转置)
  8. 使用 lsof 代替 Mac OS X 中的 netstat 查看占用端口的程序
  9. python数据文件格式p_python对NOAA天气数据格式转换
  10. java 父类 new 子类
  11. 剑指offer——35复杂链表的复制
  12. ICPC程序设计题解书籍系列之六:吴永辉:《算法设计编程实验》
  13. 微软认知语音服务 语音识别
  14. sqoop和sqoop2区别
  15. [C#] 控制系统音量-第一章
  16. Linux零基础入门系列培训
  17. 160813_qt显示阿拉伯输入法9x7点阵
  18. 微星主板rgb_微星10款B550主板集体发布:标配PCIe 4.0、支持Zen3
  19. Python实现Local Reed-Xiaoli(LRX)高光谱目标检测算法
  20. ffmpeg 转换flv压缩大小_ffmpeg 视频压缩 转换

热门文章

  1. 计算机高级筛选在哪找,excel表格数据高级筛选在哪里-EXCEL高级筛选
  2. mscorsvw.exe是什么
  3. 女生学大数据好还是计算机好?都适合女生吗?就业前景好吗?
  4. 北汽极狐ARCFOX与华为合作
  5. ios 操作通讯录联系人
  6. JAVA猎才学员成长心得分享
  7. Maven(六)Maven传递性和依赖性
  8. linux服务器鼠标键盘没反应,Fedora 键盘鼠标输入没反应及解决办法
  9. 12个免费在线Logo生成器
  10. 一文搞懂如何兼容苹果HomeKit?智汀助你轻松打造智慧家庭