基于Sobel算子的图像边缘检测方法技术

技术编号:11663005 阅读:98 留言:0更新日期:2015-06-29 18:11
本发明专利技术公开了一种基于Sobel算子的图像边缘检测方法,其包括以下步骤:打开一张图片,根据其宽与高生成一维数组pixels[w*h],存放每点像素值;对图片进行灰度转换,得到第一灰度值并存放在一维数组中;生成两个二维数组;利用梯度卷积算子对每点像素值求梯度幅值,并设为total;判断total是否大于设定值;将其中一个二维数组转换成一维数组,得到转换后的第二灰度值并存于该二维数组中。本方法相较于现有技术对于图像边缘检测的精度和抗噪能力得以提高,在应用条件和硬件成本上也具有优势。

【技术实现步骤摘要】

本专利技术涉及一种图像边缘检测方法,具体涉及一种基于Sobel算子的图像边缘检 测方法。
技术介绍
图像边缘检测技术主要应用于监控和门禁设施当中,进行道路交通的管制或汽车 门禁的监控。该技术在门禁系统的应用具有较高研宄价值,一方面因为,我国城镇化进程的 日益推进,城镇人口增速明显,城镇居民对居住地的要求有所增加,加上现代居民素质的整 体提高,居民对公共安全的需求意识逐渐增强,对门禁社区的关注度越来越高,使得越来越 多学者投入到相关研宄中来。另一方面,开发商为了迎合大众需求,往往会重金打造一些门 禁社区作为卖点,因而会相应增加门禁系统、安防系统、监控设施的需求,这给门禁系统生 产商带来了更多商机和机遇,许多带有新功能的门禁监控系统层出不穷。 此外,图像边缘检测技术是安防系统的重要组成部分,同摄像头采样技术、数模转 换技术、接口技术一样是是安防系统的核心技术之一(居民小区汽车门禁系统示意图如图 1所示),有着深厚的研宄基础,自1965年至今的近50年里,有许多国内外学者对其进行研 宄,并在不同领域取得很多成果。边缘检测算法的种类较多,可分为传统算法和新兴算法。 传统算法有:Roberts算子、Prewitt算子、LOG算子、Iaplacian算子和Canny算子等。传 统算法大都基于数学运算实现,要么抗噪性能差,要么边缘检测的精度不高。新兴的边缘检 测算法的研宄常与其他学科有所交叉,在工程方面有:基于小波分析和小波包的边缘检测 方法、基于模糊理论的边缘检测方法、基于神经网络的分割方法等,在机器视觉和人工智能 等领域有:基于数学形态学的边缘检测方法、自组织聚类法、遗传算法等。 由于居民小区汽车门禁系统需要图像处理过程相对快速、准确、可靠性高、易于存 储,虽然上述许多图像边缘检测技术在相应领域都有着广泛应用,其在精度、抗噪能力、应 用条件和硬件成本等方面都存在着不足之处。因此,有必要拿出一种新的图像边缘检测技 术来解决这些问题。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种在精度、抗噪能力、应用条件和硬件成 本这些方面都具有优势的。 为了达到上述目的,本专利技术的技术方案如下: ,其采用MyEclpise 7. 0工具和Java语言, 该方法包括以下步骤: 1)打开一张图片,并获取图片的宽与高,宽为w,高为h,根据宽与高生成一维数组 pixel ,存放每点像素值; 2)对图片进行灰度转换,得到第一灰度值,并存放在一维数组中; 3)生成两个二维数组 Matrix 和 SobelMatrix ,Matrix 用于 存放第一灰度值; 4)利用梯度卷积算子对每点Matrix 求梯度幅值,并设为total ; 5)判断total是否大于设定值,如大于设定值则进入第6)步骤,否则进入第7)步 骤; 6)求得 SobelMatrix 的值; 7)求得 SobelMatrix = 0 ; 8)将S〇belMatrix转换成一维数组,得到转换后的第二灰度值并存于 SobelMatrix 中; 9)完成。 本专利技术通过将图片进行进行两次的图片灰度的转换,分别得到第一灰度值和第 二灰度值,第一次生产一维数组,然后再生产两个二维数组,再通过对梯度幅值的判断,得 到S 〇belMatriX 的值,最后得到第二灰度值,然后经优化的图片灰度形式得以实现, 使得本方法相较于现有技术对于图像边缘检测的精度和抗噪能力得以提高,同时仅借助于 MyEclpise 7. 0工具和Java语言即可实现的本方法,在应用条件和硬件成本上相较现有技 术也具有其优势。 在上述技术方案的基础上,本专利技术还可以作如下改进: 作为优选的方案,上述的图片通过PixelGrabber类进行像素转换,得到第一灰度 值。 采用上述优选的方案,可以提高第一灰度值转换的精度。 作为优选的方案,上述的设定值为80。 采用上述优选的方案,可以提高本方法的检测精度。 作为优选的方案,上述的第6)步骤中,SobelMatrix = 255。 采用上述优选的方案,可以进一步地提高本方法的检测精度。【附图说明】 图1为居民小区汽车门禁系统示意图。 图2为本专利技术的的实施流程图。【具体实施方式】 下面结合附图详细说明本专利技术的优选实施方式。 为了达到本专利技术的目的,如图2所示,在本专利技术的基于Sobel算子的图像边缘检测 方法的其中一些实施方式中,其采用MyEclpise 7. 0工具和Java语言,该方法包括以下步 骤: Sl :打开一张图片,并获取图片的宽与高,宽为w,高为h,根据宽与高生成一维数 组pixels ,存放每点像素值; S2 :对图片进行灰度转换,得到第一灰度值,并存放在一维数组中; S3 :生成两个二维数组 Matrix 和 SobelMatrix ,Matrix 用于 存放第一灰度值; S4 :利用梯度卷积算子对每点Matrix 求梯度幅值,并设为total ; S5 :判断total是否大于设定值,如大于设定值则进入第S6步骤,否则进入第S7 步骤; S6 :求得 SobelMatrix 的值; S7 :求得 SobelMatrix = 0 ; S8 :将SobelMatrix 转换成一维数组,得到转换后的第二灰度值并存于 SobelMatrix 中; S9 :完成。 本方法通过将图片进行进行两次的图片灰度的转换,分别得到第一灰度值和第 二灰度值,第一次生产一维数组,然后再生产两个二维数组,再通过对梯度幅值的判断,得 到S 〇belMatriX 的值,最后得到第二灰度值,然后经优化的图片灰度形式得以实现, 使得本方法相较于现有技术对于图像边缘检测的精度和抗噪能力得以提高,同时仅借助于 MyEclpise 7. 0工具和Java语言即可实现的本方法,在应用条件和硬件成本上相较现有技 术也具有其优势。 本方法中所涉及的Sobel算法程序片段如下:【主权项】1.,其特征在于,采用MyEclpise 7. O工具和 Java语言,所述方法包括以下步骤: 1) 打开一张图片,并获取图片的宽与高,宽为w,高为h,根据所述宽与高生成一维数组 pixels,存放每点像素值; 2) 对所述图片进行灰度转换,得到第一灰度值,并存放在所述一维数组中; 3) 生成两个二维数组1\^1:1'11和3(^61]\^1:1'11,所述]\^1:1'11用于 存放所述第一灰度值; 4) 利用梯度卷积算子对每点Matrix 求梯度幅值,并设为total; 5) 判断所述total是否大于设定值,如大于设定值则进入第6)步骤,否则进入第7)步 骤; 6) 求得SobelMatrix 的值; 7) 求得SobelMatrix = 0 ; 8) 将所述SobelMatriX转换成一维数组,得到转换后的第二灰度值并存于所述 SobelMatrix 中; 9) 完成。2. 根据权利要求1所述的,其特征在于,所述图片 通过PixelGrabber类进行像素转换,得到所述第一灰度值。3. 根据权利要求1所述的,其特征在于,所述设定 值为80。4. 根据权利要求3所述的,其特征在于,所述第 6)步骤中,所述SobelMatrix = 255。【专利本文档来自技高网
...

【技术保护点】
基于Sobel算子的图像边缘检测方法,其特征在于,采用MyEclpise 7.0工具和Java语言,所述方法包括以下步骤:1)打开一张图片,并获取图片的宽与高,宽为w,高为h,根据所述宽与高生成一维数组pixels[w*h],存放每点像素值;2)对所述图片进行灰度转换,得到第一灰度值,并存放在所述一维数组中;3)生成两个二维数组Matrix[h][w]和SobelMatrix[h][w],所述Matrix[h][w]用于存放所述第一灰度值;4)利用梯度卷积算子对每点Matrix[i][j]求梯度幅值,并设为total;5)判断所述total是否大于设定值,如大于设定值则进入第6)步骤,否则进入第7)步骤;6)求得SobelMatrix[i][j]的值;7)求得SobelMatrix[i][j]=0;8)将所述SobelMatrix[h][w]转换成一维数组,得到转换后的第二灰度值并存于所述SobelMatrix[h][w]中;9)完成。

【技术特征摘要】

【专利技术属性】
技术研发人员:王岩卢曦陆盈
申请(专利权)人:南通理工学院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1