推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python语言图像边缘检测算法的研究

更新时间:2019-12-26 12:24:20 大小:1M 上传用户:songhuahua查看TA发布的资源 标签:python图像边缘检测 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

本文介绍了基于Open MV微型机器视觉模块,采用Micro Python进行编程,通过摄像头采取实时图像,进行边缘检测以及腐蚀膨胀处理。并通过实验和研究,进一步分析了影响准确度的因素。


部分文件列表

文件名 大小
基于Python语言图像边缘检测算法的研究.pdf 1M

部分页面预览

(完整内容请下载后查看)
信息技术  
·123·  
基于 Python 语言图像边缘检测算法的研究  
玭
梅妍  
(扬州职业大学电子工程学院,江苏 扬州 225009)  
摘
要:本文介绍了基于 Open MV 微型机器视觉模块,采用 Micro Python 进行编程,通过摄像头采取实时图像,进行边缘检  
测以及腐蚀膨胀处理。并通过实验和研究,进一步分析了影响准确度的因素。  
关键词:ꢀpꢁn MV;Micro Python;边缘检测;腐蚀膨胀算法  
:
Abstract This papꢁr introducꢁd thꢁ idꢁntification systꢁm utilizꢁs ꢀpꢁnꢂV micro-machinꢁ vision modulꢁ,with ꢂicro Python  
programming,acquiring rꢁal-timꢁ imagꢁs,this papꢁr also givꢁs contrasts and ꢁstimatꢁs of thꢁ dilation and ꢁrosion algorithm and  
ꢁdgꢁ dꢁtꢁtion algorithm .Analysis and ꢁxpꢁrimꢁnt rꢁsꢁarch on mꢁasurꢁmꢁnt accuracy influꢁncing factors of thꢁ algorithmꢃ  
Key words: Opꢁn ꢂV; ꢂiꢄro ꢅython;Edgꢁ dꢁtꢁtion; Dilation and ꢁrosion algorithm  
1 系统开发环境介绍  
1.1 Micro Python  
Python 是一款比较容易上手的脚本语言,而且有强大的社 行微分来提取边缘信息。其图像像素矩阵的梯度值反映了图像  
区支持,一些非计算机专业领域的人都选它作为入门语言。遗 的灰度变化的大小和方向梯度,其定义为公式(1)所示。  
2.1.1 像素矩阵的一阶微分边缘检测算子  
像素矩阵的一阶微分方程通常是对图像像素矩阵的幅值进  
■
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
ꢀ
ꢂ
ꢂ
ꢂ
ꢂ
ꢂ
∂t  
∂t  
∂t  
∂t  
憾的是,它不能实现一些非常底层的操控,所以在硬件领域并不  
起眼。Micro Python 是一个 Python 3 的精简和高效的实现编  
程语言,它包含了 Python 标准库的一个小子集,同时优化了在  
微控制器和受限环境中的运行。借助 Micro Python,用户完全可  
以通过 Python 脚本语言实现硬件底层的访问和控制,比如说控  
制 LED 灯泡、LCD 显示器、读取电压、控制电机、访问 SD 卡等。  
1.2 Open MV  
■
ꢁ
ꢁ
ꢃ
ꢀ
ꢂ
ꢂ
ꢄ
G
∇I(x, y) =  
=
(1)  
G
ꢁ
ꢃ
ꢂ
ꢄ
其幅值大小和方向如公式(2)、公式(3)所示:  
∇I(x, y) = G +G  
(2)  
■
ꢁ
ꢀ
ꢂ
G
G
α = arctan  
Open MV 是一个基于 STM32F765VI ARM Cortex M7 处  
理器的单片机和 OV2640 图像传感器的开源型的微型机器视觉  
模块。Open MV 上搭载了一个 Micro Python 解释器,使用 Python  
(3)  
ꢁ
ꢃ
ꢂ
ꢄ
图像像素矩阵中水平分量 Gx  
和垂直分量 Gy 的不同,所用模  
脚本语言编程来实现一系列功能,包括 IO 端口的控制、读取文 板不同,如 Sobel,Prewitt ,Robert,Kirsch,Robinson,Laplacian  
件系统等基础功能,也可以实现人脸检测和跟踪、关键点提取、 算子等。这种方法运算简单,但易收到噪声干扰,识别出来的边  
颜色跟踪等功能。  
界轮廓比较粗。  
1.3 图像模型  
2.1.2 二阶微分图像像素边缘检测算子  
图像的边缘像素矩阵发生剧烈变化,图像像素矩阵中的二  
Lab 模型由明度(Luminosity)和有关色彩的 a、b 三个要素组  
成。Lab 的颜色空间中,L 亮度;a 的正数代表红色,负端代表绿 阶导数的零点或者是极值点即为图像的边缘位置。二阶微分边  
色;b 的正数代表黄色,负端代表兰色。不像 RGB 和 CMYK 色彩 缘检测主要是 Laplacian 算子和 Log 算子,Laplacian 法易受到噪  
空间,Lab 颜色被设计来接近人类视觉。因此 L 分量可以调整亮 声干扰。Log 法是对 Laplacian 法的改进,先进行滤波,减少图像  
度对,修改 a 和 b 分量的输出色阶来做精确的颜色平衡。Lab 色 中噪声的干扰,然后计算二阶导数,其中二阶方向导数的零点以  
彩模型不依赖于设备、色域宽阔,它包含了 RGB、CMYK 的所有 及极值点即图像的边界位置。Canny 方法是目前比较理想并且  
色域,人的肉眼能感知的色彩,都能通过 LAB 模型表现出来。  
2 图像处理的基本原理  
广泛应用的一种边缘检测算法,但 Canny 算法易受到噪声干扰,  
滤波抗噪处理对实时图像的数据处理的运算量非常大。因此,  
这里提出一种可以抑制噪声,使得每个像素值加上校准值,运算  
2.1 边缘检测  
图像的边缘是图像的重要特性。图像边缘是图像中灰度或 速度快、根据图像明暗度调整能自动产生阈值,且识别的图像边  
者纹理、颜色发生剧烈变化的地方,图像的像素矩阵特性有阶 界线比较细的边缘检测算法。  
跃变化或屋脊变化的那些像素的集合。图像的边界存在于不同  
物体、物体和背景、色块与色块的边界,是图像识别信息最集中  
的地方。实时图像的边缘检测是图形分析的重要内容,例如工 分别对两个集合进行合并。膨胀函数  
业上的控制,实时的监控、目标识别与跟踪,广泛应用于工业、农 的集合,其中向量加法的两个加数分别来自于 X 和 B,并且可以  
业、军事与交通等领域。  
取到任意可能的组合,如公式(4)所示。  
2016 年江苏省大学生创新项目 201611462011Y;江苏省高职院校青年教师企业实践培训资助项目;2017QꢆSJ103,2017 江苏  
省终身教育研究会 17SZJB016。  
作者简介:梅妍 (1984-),女,江苏扬州人。南京邮电大学通信与信息工程学院硕士研究生。现扬州职业大学电子工程学院讲  
2.2 腐蚀膨胀算法  
膨胀算法采用向量加法(例如(a,b) +(c,d) =(a + c,b + d))  
X ⊕ B  
是所有向量加之和  
玭
师。目前主要研究方向为移动通信与无线接入。  
信息技术  
·124·  
区域变为黑色,再对图像边缘进行侵蚀,侵蚀函数根据图像明  
X ⊕ B ={p ∈ ε , p = x+b, x ∈ X ,b ∈ B}  
(4) 暗度设置合理的腐蚀值的大小,去除边缘相邻处多余的点。腐  
另外,腐蚀函数对图像像素的集合元素采用向量减法,将两 蚀函数中腐蚀值的大小即用来设置去除相邻点的个数,数值越  
个集合合并。腐蚀函数是膨胀函数是互相对偶的关系,公式表 大,被侵蚀掉的边缘点越多,边缘旁边白色杂点少;数值越小,被  
达如公式(5):  
XΘB ={p ∈ ε , p +b ∈ X, ∀b ∈ B}  
侵蚀掉的边缘点越少,边缘旁边的白色杂点越多。  
(5)  
腐蚀与膨胀的关系可以描述如公式(6)所示:  
ˇ
XΘB = X ⊕ B  
)
ˇ
(
(6)  
其中 是 B 关于参考点的对称集合,也称转置,可以根据此  
B
式,利用膨胀运算来实现腐蚀运算。  
3 基于 Python 语言软件程序编写  
3.1 图像边缘检测程序流程图  
图 3 侵蚀点设置过大的图像  
对图像边缘进行腐蚀之后,对图像边缘进行膨胀,设置好膨  
胀函数中膨胀数值的大小,使边缘膨胀。用来设置去除相邻点  
的个数,膨胀数值越大,边缘越膨胀;数值越小,边缘膨胀的小。  
3.4 腐蚀膨胀算法程序测试结果  
腐蚀膨胀算法程序检测结果如图 5 所示,a 为测试原图,b  
为经过边缘检测后的图像,c 为腐蚀后的图像,可以看出图像的  
边缘不再明显,被黑色覆盖,d 为膨胀后的图像,可以看出图像  
的边缘变粗。  
图 1 边缘检测程序流程图  
图 4 腐蚀膨胀算法程序流程图  
图像边缘检测程序流程图如图 1 所示,读取摄像头的图像  
后先经过 Morph 滤波变换,根据图像对比度进行调整,使图像  
每个像素乘以一个参数值,并且根据明暗度调整,使得每个像  
素值加上校准值。  
图像边缘进行侵蚀处理,去除边缘相邻处多余的点,数值设  
置过大,被侵蚀掉的边缘点越多,边缘旁边白色杂点少;数值越  
小,被侵蚀掉的边缘点越少,边缘旁边的白色杂点越多。根据图  
像明暗度设置合理的去除的相邻点的个数,  
3.2 图像边缘检测程序测试结果  
图像边缘检测结果如图 2 所示,a 为测试原图,b 为经过边  
缘检测后的图像。  
c、腐蚀后的图像  
d、膨胀后的图像  
图 5 腐蚀膨胀算法程序检测  
参考文献  
[1]潘丽静,张虹波,周婷婷.全自动模拟目标搜救系统的设计与实  
现[J].电脑知识与技术,2016,28:21-24.  
[2]余金栋,张宪民.用于线纹显微图像的边缘检测算法[J].光学紧  
密工程,2015,1:47-50.  
[3]邓仕超,黄寅.二值图像膨胀腐蚀的快速算法[J].计算机工程与  
应用,2015,11:23-25.  
[4]MagnusLieHetland 著, 司维, 曾军道译,Python 基础教程 (第 2  
版·修订版)[M].北京:人民邮电出版社.2014-06-02:337-345.  
[5] Research on umber-plate recognition based on neural net-  
works. Wu Wei,Li Yuzhi,Wang Mingjun,Huang Zhongxiang.  
Neural Networks for Signal Processing XI,2001.Proceedings of  
the 2001 IEEE Signal Processing Si-ety Workshop . 2001  
a、测试原图  
b、边缘检测后的图像  
图 2 图像边缘测试  
侵蚀函数去除相邻点的个数设置的数值过大,被侵蚀掉的  
边缘点过多,边缘不清晰连贯,图像偏黑,如图 3 所示。  
3.3 腐蚀膨胀算法程序流程图  
腐蚀膨胀算法的程序流程图如图 4 所示。先对摄像头摄取  
的图像进行分割,二值化,将在阈值内的区域变为白色,阈值外  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

推荐下载