使用Python的Canny边缘检测器
边缘检测是基于轮廓的对象识别的至关重要的图像分析技术,对于图像信息恢复至关重要。 它提取关键功能,例如线条和曲线,通常由高级计算机视觉和图像处理算法使用。 强大的边缘检测算法准确地识别了主要边缘,同时抑制了噪声引起的虚假边缘。 边缘代表图像强度(像素值)的重大局部变化,通常发生在区域边界处。本教程解释了Canny Edge检测算法及其Python实现。
chany边缘检测器
> >以其发明者John F. Canny(1986)的名字命名,Canny探测器以灰度图像为输入,并输出图像突出显示强度不连续性(边缘)。 该过程涉及:
降低噪声:
高斯卷积使输入图像平滑,降低噪声。- 梯度计算:
第一导数操作员突出了具有高空间衍生物的区域。 使用X和Y衍生物确定梯度幅度和方向,对于边缘方向识别至关重要。 非最大抑制: - 此步骤将边缘变细。 该算法沿梯度山脊跟踪,将非ridge像素设置为零,从而导致边缘线。 这涉及将梯度与邻居进行比较;仅保留最大梯度。> 滞后阈值:
- 两个阈值,(upper)和(下),带有 ,
- ,控制边缘跟踪。 跟踪从上方的点开始,然后继续直到梯度降至以下。 上方的点始终是边缘; >下方的点仅在
t1
>上方的点上方时t2
。t1 > t2
t1
高斯内核宽度和/ t2
阈值是影响Canny检测器输出的参数。t1
t1
Python实现t2
t1
显示了两种方法:使用
。
t1
t2
使用
> install
(例如,在ubuntu上scikit-image
模块中)应用了Canny检测器。OpenCV
使用示例图像“ boat.png”(如下所示):
scikit-image
代码:
输出(边缘检测的图像):scikit-image
sudo apt-get install python-skimage
canny()
feature
使用
>安装OpenCV(请参阅操作系统的相关安装指南)。 OPENCV的Canny()
函数执行边缘检测。
代码:
from skimage import io, feature im = io.imread('boat.png') edges = feature.canny(im) io.imshow(edges) io.show()
参数:im
(图像),下阈值(25),上阈值(255),L2gradient=False
(使用L1-norm)。 matplotlib
显示结果。
输出(边缘检测的图像):
结论
该教程使用scikit-image
和OpenCV
涵盖了Canny边缘检测器及其直接实现,证明了其在边缘检测中的有效性。
以上是使用Python的Canny边缘检测器的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...
