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

html制作企业宣传网站wordpress企业网站开发

html制作企业宣传网站,wordpress企业网站开发,wordpress制作404,广州百度竞价外包1.概念 图像边缘检测是计算机视觉和图像处理中的基础任务,用于识别图像中像素值发生剧烈变化的区域,这些区域通常对应物体的边界、纹理变化或噪声。 1.1原理 图像中的边缘通常表现为灰度值的突变(如从亮到暗或从暗到亮的急剧变化&#xff09…

1.概念

        图像边缘检测是计算机视觉和图像处理中的基础任务,用于识别图像中像素值发生剧烈变化的区域,这些区域通常对应物体的边界、纹理变化或噪声。

1.1原理

        图像中的边缘通常表现为灰度值的突变(如从亮到暗或从暗到亮的急剧变化)。

1.2方法

        Canny 边缘检测算法是一种非常流行的边缘检测算法,是 John F. Canny 于 1986年提出的,被认为是最优的边缘检测算法。

2.滤波器选择

        上述概念中提到边缘检测主要用于识别图像的色差变化大的区域,通常为噪声。边缘检测本省就是一种锐化操作,对噪点比较敏感,所以需要进行噪点消除。我们选择的滤波为高斯滤波。kernel=(5,5):

3.计算图像梯度与方向

        计算图像的梯度和方向会用到sobel算子,sobel算子就是核值固定的卷积核,一般为(3,3):

        这里要注意Gx,Gy 并不只是sobel不同方向的核值,而是sobel算子与原图通过计算后得到Gx,Gy。

3.1图像梯度

        梯度其实就有点像色差变换率,导数的感觉。梯度值计算公式有两个,一个是欧氏距离计算

        一个是曼哈顿街区距离:

        在OpenCV中默认使用曼哈顿街区距离。

3.2图像方向

        在求梯度之前,我们就已经得把Gx,Gy算出来,此时利用三角函数:

        这个角度值θ就是当前边缘的梯度的方向。得到θ的值之后,就可以对边缘方向进行分类,为了简化计算过程,一般将其归为四个方向:水平方向、垂直方向、45°方向、135°方向。

4.非极大值抑制

        出现原因:因为高斯滤波的原因,边缘会变得模糊,导致经过第二步后得到的边缘像素点非常多,因此我们需要对其进行一些过滤操作。

4.1作用

        对得到的边缘像素进行一个排除,使边缘尽可能细一点。

4.2原理

        比较G(x,y)与两个相邻像素的梯度值:G(x-1,y)和G(x+1,y)。如果G(x,y)是三个值里面最大的,就保留该像素值,否则将其抑制为零。

4.3总结

        经过再一次过滤后,有些噪点被改成0,边缘就更细致,更准确。非极大值抑制的目的是在已经计算出图像梯度幅度图像的基础上,进一步细化边缘位置,减少假响应并确保边缘轮廓的一致性和单像素宽度。

5.双阈值筛选

5.1原因

        经过非极大值抑制之后,我们还需要设置阈值来进行筛选,当阈值设的太低,就会出现假边缘,而阈值设的太高,一些较弱的边缘就会被丢掉,因此使用了双阈值来进行筛选。

5.2原理

        当某一像素位置的幅值超过最高阈值时,该像素必是边缘像素;当幅值低于最低像素时,该像素必不是边缘像素;幅值处于最高像素与最低像素之间时,如果它能连接到一个高于阈值的边缘时,则被认为是边缘像素,否则就不会被认为是边缘。

         上图中的A和C是边缘,B不是边缘。因为C虽然不超过最高阈值,但其与A相连,所以C就是边缘。

5.3总结

       双阈值检测的目的是基于非极大值抑制后的梯度幅值图像,通过设定高低两个阈值来区分强边和弱边,并有效连接这些边缘点构成完整的边缘线。

6.API

        cv2.Canny(img,threshold1,threshold2)

img:灰度化(二值化)后的图像;

threshold1:低阈值

threshold2:高阈值

7.原理上的Canny边缘检测步骤

(1)读图

(2)二值化图像

(3)高斯滤波

(4)计算梯度和方向

(5)非极大值抑制

(6)双阈值筛选

8.代码实现

代码就简单了,因为这个API已经设定好了所有的内容,直接调用就行。

import cv2
img = cv2.imread('./src/shudu.png')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img_canny = cv2.Canny(img_gray,threshold1=30,threshold2=170)
cv2.imshow('img_canny',img_canny)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果:

http://www.dtcms.com/a/557625.html

相关文章:

  • 建立个人网站的步骤有哪些wordpress 下雪插件
  • LLMs之HPT:《Towards a Unified View of Large Language Model Post-Training》翻译与解读
  • 茂名网站建设系统网站开发毕业设计文献综述
  • 便携式功耗分析仪LuatOS IoT Power vs. Nordic PPK2
  • 易语言做网站登录茶叶品质网站建设
  • JVM 调优实战:从线上问题复盘到精细化内存治理
  • 龙岗网站建设方案网站建设推广培训
  • 多模态生成 DALL-E
  • 网站做任务赚佣金网站建设推广费怎么做账
  • 提供设计网站效果图wordpress主题标签
  • 怎样建立个人网站网站建设空间域名是什么意思
  • python进阶教程15:单例模式、工厂模式和适配器模式
  • 购物网站开发设计文档电子商务网站案例分析
  • 360免费网站建设做网站要买什么空间
  • 统计数学---数据归一化(Data Normalization)
  • 漳州网站建设网站运营北京最牛计算机培训机构
  • 【51单片机】【protues仿真】基于51单片机自动浇花系统
  • 2003系统建网站福清做网站的公司
  • 装饰网站案例网站上传附件目录格式
  • Spring AI Alibaba 框架使用示例总体介绍
  • 百度智能云API实现人脸识别
  • AOI在产品质量检测制造领域的应用
  • 哪里有网站培训的罗湖中小网站建设
  • CentOS Stream 网络故障排查:静态IP丢失、无法访问的完整解决方案
  • wp网站建设app图标制作
  • 昆明seo网站建设费用店面设计英文
  • 基于LLM的智能数据查询与分析系统:实现思路与完整方案
  • 技术准备十三:Redis++
  • 顺企网属于什么网站家教网站代理
  • Lua代码混淆-Prometheus方案教程