0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何进行图像边缘的检测

新机器视觉 来源:新机器视觉 2023-06-20 15:14 次阅读

本期我们一起看看如何进行图像边缘的检测。边缘检测通常用于理解图像中的对象,帮助机器做出更好的预测。编写边缘检测程序是了解机器如何看待外界的好方法。现在就让我们使用python进行边缘检测吧。

我们将为该项目使用两个主要模块:Numpy,Matplotlib和OpenCV。Matplotlib是一个完整的库,用于在Python中生成静态,动画和交互式可视化。OpenCV是一个高度优化的库,专注于实时应用程序。

OpenCV

OpenCV(开源计算机视觉库)是一个开源计算机视觉和机器学习软件库。OpenCV的构建旨在为计算机视觉应用程序提供通用的基础结构,并加速商业产品中的机器感知。作为BSD许可的产品,OpenCV使企业可以轻松地使用和修改代码。

参考:https://opencv.org

让我们从安装库开始。

安装库

我们必须安装库,以便我们的程序正常运行。如前所述,我们将只需要两个库。使用PIP库管理器将它们安装在一行中:

pip安装numpy matplotlib opencv-python

安装过程完成后,我们可以将它们导入到我们的代码中。我们将使用Atom文本编辑器完成。

导入cv2 导入numpy作为np 导入matplotlib.pyplot作为plt

边缘检测功能

现在,我们可以转到有趣的部分,在这里我们将编写边缘检测功能。您会惊讶于使用OpenCV软件包如此简单。此OpenCV检测模型也称为Canny边缘检测模型。我们的功能包括三个部分:边缘检测,可视化,最后保存结果。

边缘检测

def simple_edge_detection(image): edgesdetected = cv2.Canny(image,100,200) images = [image,edgesdetected]

了解代码:

Canny是我们调用的使用OpenCV进行边缘检测的方法。

Image是函数的参数,这意味着我们将在调用函数时传递图像。这样,您可以轻松地用不同的图像测试程序。

100和200是磁滞阈值的最小值和最大值。

可视化

location = [121,122] 对于loc,zip中的edge_image(位置,图片): plt.subplot(loc) plt.imshow(edge_image,cmap ='gray')

了解代码:

绘图部分需要位置数组。

然后,我们同时可视化原始图像和边缘检测图像。

cmap参数用于更改图像的颜色。就我们而言,我们正在将它们转换为灰色。

保存结果

该功能的最后一部分将保存边缘检测图像和比较图。OpenCv和Matplotlib软件包;imwrite和savefig函数都为我们提供了这个功能。在最后一行中,show函数可以向我们显示创建的图。

cv2.imwrite('edge_detected.png',edgesdetected)plt.savefig('edge_plot.png')plt.show()

选择图片

我们要找到一张测试Canny Edge检测程序的图像。下载图像后,请确保将它们放入与项目相同的文件夹中。这将有助于轻松地将它们导入程序。让我们定义一个图像变量并导入图像。这是使用OpenCV读取图像的方法:

img = cv2.imread('test_image.jpg',0)

这是我将测试模型的示例图像:

运行程序

是时候运行程序了。到目前为止,没有任何东西可以触发该功能。我们必须调用函数也不要忘记将图像作为参数传递进去:

simple_edge_detection(img)

结果如下:

6e1576e6-0c4b-11ee-962d-dac502259ad0.png6e2c94ca-0c4b-11ee-962d-dac502259ad0.png6e3fd742-0c4b-11ee-962d-dac502259ad0.png我们已经使用Python创建了边缘检测的代码。


责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 边缘检测
    +关注

    关注

    0

    文章

    92

    浏览量

    18211
  • 程序
    +关注

    关注

    117

    文章

    3787

    浏览量

    81065
  • 代码
    +关注

    关注

    30

    文章

    4789

    浏览量

    68635

原文标题:基于OpenCV的简单边缘检测模型

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理

    进行 Sobel 边缘检测并送入 VGA 显示,通过独立按键可以切换显示模式和设定边缘检测阈值。 2
    发表于 05-24 07:45

    基于Canny边缘检测算子的图像检索算法

    ,根据向量间的Man-hanttan距离进行图像检索。试验结果表明,改进的Canny算子能够检测到低强度的边缘并保持边缘清晰连贯,而且该
    发表于 04-24 10:03

    基于FPGA的嵌入式图像边缘检测系统设计

    本帖最后由 mingzhezhang 于 2012-5-23 19:28 编辑 为了提高数字图像的处理速度,提出了用FPGA来设计嵌入式sobel边缘检测系统的方法。构建了嵌入式边缘
    发表于 05-23 19:16

    请问,如何进行DSP编程(C语言)实现图像滤波处理,及边缘检测??

    请问,如何进行DSP编程(C语言)实现图像滤波处理,及边缘检测??
    发表于 09-28 22:38

    机器视觉 --检测图像边缘小程序

    机器视觉 --检测图像边缘小程序
    发表于 08-23 21:35

    如何利用FPGA实现Laplacian图像边缘检测器的研究?

    引言边缘可定义为图像中灰度发生急剧变化的区域边界,它是图像最基本的特征,是图像分析识别前必不可少的环节,是一种重要的图像预处理技术。
    发表于 07-31 06:38

    Labview图像处理——边缘检测

    。Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel算子对边缘定位不是很准确,图像边缘不止一个像素;当对精度要求不是
    发表于 12-01 12:16

    基于FPGA的图像边缘检测

    基于FPGA的图像边缘检测 引言     图像边缘检测
    发表于 01-14 11:07 1877次阅读
    基于FPGA的<b class='flag-5'>图像</b><b class='flag-5'>边缘</b><b class='flag-5'>检测</b>

    基于改进的Laplacian算子图像边缘检测

    分析了图像边缘特性以及Laplacian算子检测图像边缘的基本原理!并对经典Laplacian算子进行
    发表于 05-17 10:46 29次下载
    基于改进的Laplacian算子<b class='flag-5'>图像</b><b class='flag-5'>边缘</b><b class='flag-5'>检测</b>

    超空泡图像的自适应多尺度小波边缘检测

    文中采用自适应多尺度小波边缘检测,对超空泡图像进行边缘检测。算法中首先对
    发表于 11-03 15:47 29次下载

    实时图像边缘检测的设计及FPGA实现

    文中将FPGA应用于实时图像边缘检测系统,从而实现动态实时图像边缘检测。通过搭建实验平台仿真验
    发表于 12-22 17:06 39次下载
    实时<b class='flag-5'>图像</b><b class='flag-5'>边缘</b><b class='flag-5'>检测</b>的设计及FPGA实现

    基于B样条小波的图像边缘检测算法

    边缘图像最基本的特征,边缘检测图像处理中的重要内容。传统的边缘
    发表于 08-14 14:25 0次下载

    多尺度积图像边缘检测算法

    针对边缘检测中存在的噪声敏感性问题。本文根据Mallat快速小波变换算法的思想,提出用高斯函数和其一阶导数分别作为低通和高通滤波器对图像进行多尺度分析,通过非下采样提取不同尺度上的系数
    发表于 02-28 15:46 1次下载

    图像处理算法——边缘检测

    基于边缘检测的分析不易受整体光照强度变化的影响,同时利用边缘信息容易凸显目标信息和达到简化处理的目的,因此很多图像理解方法都以边缘为基础。
    的头像 发表于 11-30 16:56 1164次阅读
    <b class='flag-5'>图像</b>处理算法——<b class='flag-5'>边缘</b><b class='flag-5'>检测</b>

    图像边缘检测系统的设计流程

    图像边缘检测系统的设计流程是一个涉及多个步骤的复杂过程,它旨在从图像中提取出重要的结构信息,如边界、轮廓等。这些边缘信息对于
    的头像 发表于 07-17 16:39 359次阅读