当前位置: 首页 > news >正文

无锡网页设计培训公司关键词优化哪个好

无锡网页设计培训公司,关键词优化哪个好,购物网站开发 书籍,泰安网站设计OpenCV入门(十三)快速学会OpenCV 12 图像梯度1.Sobel算子1.1 计算x1.2 计算y1.3 计算xy2.Scharr算子2.1 计算x2.2 计算y2.3 计算xy3.Laplacian算子4.总结图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯…

OpenCV入门(十三)快速学会OpenCV 12 图像梯度

  • 1.Sobel算子
    • 1.1 计算x
    • 1.2 计算y
    • 1.3 计算x+y
  • 2.Scharr算子
    • 2.1 计算x
    • 2.2 计算y
    • 2.3 计算x+y
  • 3.Laplacian算子
  • 4.总结

图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。一般情况下,图像梯度计算的是图像的边缘信息。

作者:Xiou

测试原图:

在这里插入图片描述

1.Sobel算子

Sobel算子是一种离散的微分算子,该算子结合了高斯平滑和微分求导运算。该算子利用局部差分寻找边缘,计算所得的是一个梯度的近似值。

Sobel 算子 (Sobel operator) 是边缘检测中非常重要的一个算子.。Sobel 算子是一类离散性差分算子, 用来运算图像高亮度函数的灰度之近似值。

OpenCV内,使用函数cv2.Sobel()实现Sobel算子运算,其语法形式为:

cv2.Sobel(src, ddepth, dx, dy, ksize)

参数:

src: 原图
ddepth: 图片深度
dx: 水平方向
dy: 竖直方向
ksize: 算子大小

1.1 计算x

代码实例:

import cv2
# 读取图片
img = cv2.imread("test.jpg")# Sobel算子
sobelx = cv2.Sobel(img, -1, 1, 0, ksize=3)# 展示图片
cv2.imshow("sobelx", sobelx)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

1.2 计算y

代码实例:

import cv2
# 读取图片
img = cv2.imread("test.jpg")# Sobel算子
sobely = cv2.Sobel(img, -1, 0, 1, ksize=3)# 展示图片
cv2.imshow("sobely", sobely)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

1.3 计算x+y

代码实例:

import cv2
# 读取图片
img = cv2.imread("test.jpg")# Sobel算子
sobel = cv2.Sobel(img, -1, 1, 1, ksize=3)# 展示图片
cv2.imshow("sobel", sobel)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

2.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代表边界样式。

2.1 计算x

代码实例:

import cv2
# 读取图片
img = cv2.imread("test.jpg")# Scharr 算子
Scharrx = cv2.Sobel(img, -1, 1, 0, ksize=-1)# 展示图片
cv2.imshow("Scharrx",Scharrx)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:
在这里插入图片描述

2.2 计算y

代码实例:

import cv2
# 读取图片
img = cv2.imread("test.jpg")# Scharr 算子
Scharry = cv2.Sobel(img, -1, 0, 1, ksize=-1)# 展示图片
cv2.imshow("Scharry",Scharry)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:
在这里插入图片描述

2.3 计算x+y

需要注意的是,参数dx和dy的值不能都为1。

代码实例:

import cv2
# 读取图片
o = cv2.imread('test.jpg', 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)
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()

输出结果:
在这里插入图片描述

3.Laplacian算子

Laplacian(拉普拉斯)算子是一种二阶导数算子,其具有旋转不变性,可以满足不同方向的图像边缘锐化(边缘检测)的要求。通常情况下,其算子的系数之和需要为零。

OpenCV内使用函数cv2.Laplacian()实现Laplacian算子的计算,该函数的语法格式为:

        dst = cv2.Laplacian( src, ddepth[, ksize[, scale[, delta[, borderType]]]] )

式中:
● dst代表目标图像。
● src代表原始图像。
● ddepth代表目标图像的深度。
● ksize代表用于计算二阶导数的核尺寸大小。该值必须是正的奇数。
● scale代表计算Laplacian值的缩放比例因子,该参数是可选的。默认情况下,该值为1,表示不进行缩放。
● delta代表加到目标图像上的可选值,默认为0。
● borderType代表边界样式。

代码实例:

import cv2
# 灰度读取图片
o = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE)
#拉普拉斯算子
Laplacian = cv2.Laplacian(o, cv2.CV_64F)
Laplacian = cv2.convertScaleAbs(Laplacian)
cv2.imshow("original", o)
cv2.imshow("Laplacian", Laplacian)
cv2.waitKey()
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

4.总结

Sobel算子、Scharr算子、Laplacian算子都可以用作边缘检测,它们的核如图所示。

在这里插入图片描述
Sobel算子和Scharr算子计算的都是一阶近似导数的值。通常情况下,可以将它们表示为:

在这里插入图片描述
式中“|左-右|”表示左侧像素值减右侧像素值的结果的绝对值,“|下-上|”表示下方像素值减上方像素值的结果的绝对值。Laplacian算子计算的是二阶近似导数值,可以将它表示为:

在这里插入图片描述
通过公式可以发现,Sobel算子和Scharr算子各计算了一次“|左-右|”和“|下-上|”的值,而Laplacian算子分别计算了两次“|左-右|”和“|下-上|”的值。

http://www.hkea.cn/news/590644/

相关文章:

  • 福永营销型网站多少钱中国最新消息今天
  • 做网站4000-262-263网站排名优化软件有哪些
  • 网站双链接怎么做网络舆情监测平台
  • 企业网站建设制作百度网盘下载app
  • asp做一个简单网站网络营销就是seo正确吗
  • 移动wap站点公司网站设计图
  • 网站策划建设seo搜索排名影响因素主要有
  • 大型商业广场网站建设互联网推广方案怎么写
  • p2vr做的网站上传网络广告策划书范文
  • 2022年大连黄页优化搜索引擎营销
  • 宁波有几个区昭通网站seo
  • 建设企业网站方案网站优化软件哪个好
  • 郑州做网站要搜索引擎最新排名
  • wordpress建好站了打不开首页成都关键词优化排名
  • 京东网站开发需求如何做谷歌优化
  • 微信app开发诊断网站seo现状的方法
  • 做旅行网站网站seo优化多少钱
  • 上海专业网站建设咨询网络销售怎么样
  • 奶茶网页设计图片湖南seo网站多少钱
  • 家里电脑做网站服务器如何建立网址
  • 临西做网站哪里便宜seo专业培训课程
  • 高端网站设计报价表个人网上卖货的平台
  • 广州网站优化推广公司网站优化排名资源
  • 济南网站建设大标网络企业seo服务
  • net域名大网站东莞关键词自动排名
  • 做企业平台的网站怎样进行网络营销吸引顾客
  • 天河网站 建设seo信科分公司谷歌搜索引擎网址
  • 西安网站建设招骋外贸如何推广
  • 网站改版降权武汉seo排名公司
  • 南京哪家公司做企业网站 做得比较好百度seo怎么优化