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

微信网站的优势个人主页的html设计

微信网站的优势,个人主页的html设计,邯郸网站制作个人,黑龙江网站制作平台文章目录 前言一、sobel算子的概念二、sobel算子的计算方式三、具体实现 前言 上节课我们学习了梯度的知识#xff0c;学习了如何去计算梯度#xff0c;本节我们继续学习计算梯度的方法#xff0c;本节我们学习使用Sobel算子计算梯度#xff0c;这与上节课梯度计算方法有所… 文章目录 前言一、sobel算子的概念二、sobel算子的计算方式三、具体实现 前言 上节课我们学习了梯度的知识学习了如何去计算梯度本节我们继续学习计算梯度的方法本节我们学习使用Sobel算子计算梯度这与上节课梯度计算方法有所不同一般如果需要准确地计算图像的梯度信息特别是对边缘信息感兴趣通常会选择Sobel、Scharr或Laplacian算子。而如果更关注形态学特征或者想要一种简单快速的边缘检测方法可以考虑使用cv2.morphologyEx。 一、sobel算子的概念 Sobel算子是一种用于图像边缘检测的经典算法。它基于一种称为梯度的数学概念用于找到图像中灰度变化较大的地方通常表现为图像中的边缘或轮廓。 Sobel算子通过在图像上应用两个3×3的卷积核或称为模板来计算图像的梯度这两个卷积核分别用于检测图像中水平和垂直方向的变化。 这些卷积核的设计是为了捕捉图像中的灰度变化使得在卷积过程中离边缘更近的像素权重更大从而突出边缘特征。通过计算图像中每个像素点的水平和垂直方向的梯度Sobel算子能够有效地检测图像中的边缘。 二、sobel算子的计算方式 上面提到sobel算子是通过一个3x3的卷积核来计算图像梯度卷积核我们前面已经有过了解了。在这里卷积核是什么内容呢 我们首先看下Sobel算子的计算公式 sobel算子包括两个3×3的卷积核分别用于计算图像在水平和垂直方向上的梯度。 Gx是水平方向的梯度Gy是垂直方向的梯度最终2个值的绝对值相加就是最终的梯度结果。 这2个卷积核的内容如下 我们来分析一下这个公式卷积核内容为什么要这样设置以及这个公式为什么这样计算有什么底层的逻辑。 首先我们看下横向梯度的计算方式假如卷积核覆盖的图像像素点如下 那结合上面的横向卷积核的内容 他的计算公式为(p3-p1)(2p6-2p4)(p9-p7). 而卷积核的内容实际上是代表的权重。比如离中心点越近权重越高。因为我们目的是进行边缘检测而边缘通常指的是图像中灰度变化较大的地方而像素值的变化通常发生在边缘附近。通过将离中心点最近的像素的权重设置为2或-2可以加大边缘处灰度变化对卷积结果的影响从而更好地突出边缘特征。如下图实际卷积核不是图示这么大 图只是为了方面演示查看 和之前课程中讲到的卷积核一样卷积核在图像上移动 当我么卷积核范围没有灰度变化时通过公式计算就没有产生梯度一旦当卷积核范围产生了灰度变化 比如 通过上面公式我们计算卷积核中心点位置 也就是图像p5的位置 就有值了。 当卷积核在移动到没有灰度变化的地方 就不会产生梯度 现在有个问题当卷积核移动到图像右边边缘时 按照我们的计算公式右边减左边在这个位置右边减左边肯定是小于0了默认opencv处理是小于0的就置为0 但是我们右边也有边缘置为0就是看不到边缘了不符合我们的要求了那怎么办呢。在回到上面的公式 这就是我们使用绝对值的原因。 纵向方向的梯度和横向方向的梯度原理都是一样的只不过纵向方向的是下面的减去上面的 (p9-p3)(2p8-2p2)(p7-p1)。通过纵向计算同样得到一个边缘。2个边缘相加就是我们的最终结果。纵向这里就不在演示了。那有人可能问了我们为什么要分别计算纵向和横向既然纵向和横向都可以获取边缘信息我们为何不只使用其中一种方式或者2种方式同时使用而不是单独计算在相加 其实你自己实际测试一下就知道原因了这种方式可以更好地捕捉图像中的边缘信息。虽然理论上可以设计一个3×3的卷积核同时计算水平和垂直方向的梯度但在实践中分别计算水平和垂直方向的梯度更为常见且更有效。分别计算水平和垂直方向的梯度可以提供更多的方向信息使得边缘检测更加准确。例如当图像中的边缘是斜向的时候水平和垂直方向的梯度可以更好地捕捉到这种特征。 三、具体实现 import cv2# 读取图像 image cv2.imread(yunfeng.jpg)# 转换为灰度图像 gray_image cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 使用Sobel算子计算水平方向和垂直方向的梯度 grad_x cv2.Sobel(gray_image, cv2.CV_64F, 1, 0, ksize3) grad_y cv2.Sobel(gray_image, cv2.CV_64F, 0, 1, ksize3)# 计算梯度的幅值 gradient_magnitude cv2.magnitude(grad_x, grad_y)# 显示结果 cv2.imshow(Original, image) cv2.imshow(sobel, cv2.convertScaleAbs(gradient_magnitude))cv2.waitKey(0) cv2.destroyAllWindows() 其中cv2.Sobel是计算梯度信息cv2.Sobel(gray_image, cv2.CV_64F, 1, 0, ksize3) 第一个参数是输入的图片信息 第二个参数是图像数据类型Sobel算子的计算中我们通常会使用CV_64F作为数据类型以便在计算过程中保持足够的精度。64位浮点数格式可以处理更大范围的数值以及更高的精度有助于避免在计算过程中出现数值溢出或失真的情况 第三个参数是1代表计算横向的梯度 第四个参数是0代表不计算纵向的梯度 第五个参数是卷积核大小 cv2.magnitude就是我们上面提到的公式的实现方法 我们看下最终的结果
http://www.zqtcl.cn/news/387760/

相关文章:

  • 武进区城乡建设局网站聊城商城网站建设
  • 做网站开发赚钱吗网站建设电子书资料
  • wordpress 回收站在哪个文件夹建站之星模板好吗
  • 怎么用dw做博客网站天使投资平台官网
  • 淮安市网站建设crm网站
  • 门户网站主要特点和功能深圳地铁优化
  • 银川网站推广方式湖南建工交通建设有限公司网站
  • 知道网站域名怎么联系怎么创建自己的公司网站
  • 淘宝网站开发多少金额网站优化 福州
  • 百度推广让我先做虚拟网站后进一步优化落实
  • 好的网站建设启示汕头网页设计网站方案
  • 深圳网站制作开发免费精准客户软件
  • 网站超链接用什么南宁行业平台开发公司
  • 注册门户网站襄樊seo快速排名
  • 优秀的手机网站iis 设置此网站的访问权限
  • 用nat123做自己的网站深圳市建设工程质量检测中心官网
  • 网上做衣服的网站废旧网站哪个做的最好
  • 网站开发设置网页端口wordpress 知识库
  • 网站建设的方法有四种开发一款新闻app需要多少钱
  • 成都网站建站公司2023年防疫新政策
  • 17做网店一样的网站十大互联网培训机构
  • 中企网络科技建站施工企业oa办公系统
  • 成都网站推广公司排名淘宝商家网站建设
  • 平台网站建设报价网站建设企业蛋糕
  • 上海创意网站建设电子商务毕业设计网站建设
  • 如何让网站打不开 解析wordpress pdf检索
  • 网站建设大作业感想台州企业网站模板建站
  • 淄博网站的优化上海营销网站建站公司
  • 长春网站建设硕成传媒长春电商网站建设哪家好
  • 舟山建设管理网站手表交易网站