百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

基于邻域处理器自适应图像分割高速实现

moboyou 2025-04-30 11:33 29 浏览

李余钱,苏光大

(清华大学 电子工程系,北京100084)

摘 要:在数字图像处理技术中,图像分割质量直接影响到后续算法的效果,因此图像分割技术作为其主要技术之一占有重要的地位。针对非均匀光照下图像分割问题,采用Sobel算子和Bernsen算法相结合的自适应阈值分割方法,结合现场可编程门阵列的特点,在图像邻域处理器实现了该算法。经过实际测试验证,该方法能够很好地实现对非均匀光照下图像的分割问题,而且处理时间较短,仅为0.308 ms,完全满足实际应用的需求。

0 引言

随着数字图像处理及计算机技术的不断发展,使得计算机视觉的应用领域更加广泛。计算机视觉中常用特征提取、目标跟踪、目标识别等关键技术,这些技术对图像分割的质量依赖性较强[1]。图像分割是图像处理中的重要研究方向,分割质量的好坏直接关系到后续高级算法的应用效果。

典型的图像分割算法可分为基于阈值、基于边缘和基于区域等3类,其中,常用的是基于阈值的图像分割。由于图像特征和图像信息不同,可以对基于阈值的图像分割算法进行分类,可分为基于全局的阈值分割和局部的阈值分割法[2]

全局阈值算法中比较典型的代表是最大类间方差法(Otsu法,也称大津算法),该方法使用聚类思想,按灰度级把图像分成两类,让这两类满足灰度值差异最大,同时每个部分之间的灰度差异最小,利用方差来寻找出一个合适的灰度级别。但在实际应用中,由于存在一些干扰因素,如噪声、低对比度等使得灰度直方图不一定具有明显的波峰和波谷,此时只用图像的统计直方图来判定阈值,可能会造成错误的分割。

局部阈值法的典型代表有均值阈值分割法以及Bernsen算法等。均值阈值法的主要思想是在选取阈值时,将局部区域内像素的平均值作为图像分割的阈值。均值阈值法具有算法计算简单、速度快的特点。但是该方法仅对于目标与背景相差比较大的图像,才能达到理想的结果。

由于Bernsen算法具有抑制非均匀光照的优点,而且Sobel算子计算操作较为简单,但是其阈值需要预先设定,不能满足任意场景的需要,不具备自适应性。

本研究采用自适应阈值分割算法,也就是将Bernsen算法和Sobel结合在一起,即Bernsen算法计算出窗口中的最大灰度值和最小灰度值的平均值作为分割阈值,可以达到阈值自适应的目的,对于非均匀光照图像的分割效果较好。同时,在邻域处理器上实现了该算法的全过程。经过实际测试,可以实现图像分割的功能,而且算法的时间开销较少。

1 自适应图像分割算法

1.1 Sobel算子

Sobel算子[3]包括水平方向与垂直方向,大小为3×3模板,如图1所示。该算子是进行图像边缘检测算法的核心。在边缘检测时,Sobel 算子的两个模板分别与3×3的邻域窗口的像素进行卷积运算,求出窗口中心的像素点梯度(包括水平梯度dx和垂直梯度dy),再计算出该像素点梯度的模,并与阈值相比较,进行二值化,从而得到图像的边缘图像。

1.2 Bernsen算法

Bernsen算法[3]将图像分块后,每个图像块选取该块中图像的最大和最小灰度值的平均值作为阈值,设像素点处的灰度值是以像素点为中心构造一个的窗口,其中w表示窗口宽度的参数。则Bernsen算法可以描述为:

首先,计算每个窗口的阈值T(x,y),方法如式(1)所示。

其次,将图像块的中心点像素的灰度值与上一步计算的阈值进行比较,从而确定该点的灰度值。具体计算如式(2)所示。

本文取的窗口进行图像分割。

1.3 自适应图像分割算法

自适应阈值分割算法是将Bernsen算法和Sobel算法相结合,将3×3窗口中像素的最大灰度值和最小灰度值的平均值作为Sobel的分割阈值。通过这种方式可以达到阈值自适应的目的,对于非均匀光照图像的分割效果较好。自适应图像分割的算法框图如图2所示。

2 自适应阈值分割算法硬件实现

2.1 邻域图像处理器

本研究的实验平台是邻域图像并行处理器系统[4-6],该邻域处理器系统包括视频采集部分、邻域存储器、邻域处理器、共享存储器、DSP处理器以及PCI接口等部分。邻域处理器系统框图如图3所示。其中,邻域存储器一次可以读取32个像素数据。Altera公司的EP2C70F896C8型FPGA是邻域处理器的处理核心,负责控制数据的读取以及运算等操作。共享存储器是由两个2 MB容量的同步SRAM构成,负责存储FPGA运算结果。PCI接口负责数据传递到PC或者将数据从PC传递到共享存储器,然后由FPGA进行数据组合,构成邻域数据,进行下一步处理。

同时,图像邻域处理器可以处理摄像机的视频图像或者处理计算机中的静态图像。

2.1 邻域图像处理器

自适应图像分割处理系统处理大小512×512灰度图像。在处理过程中,需要将该图像划分成16个图像块,每块为512行32列。图像进行分割的运算操作是按照块的顺序进行,依次对每块图像从上到下进行处理。每一次访问存储体读出一行图像数据,通过流水操作,可以形成n×32的图像邻域。在本图像分割算法中,n取3。

为了构成32个3×3的邻域,需要额外增加两列数据。这额外增加的两列数据正是前一图像块最右端的两列,即RAMa与RAMb。这两个RAM起到了乒乓内存操作的作用,该运算结构如图4所示。

自适应图像分割处理系统的整体实现结构框图如图5所示。

在设计实现自适应图像分割处理系统时,运算操作单元是一系列3×3的窗口,即每个运算单元总共是9个像素点灰度值,运算单元计算流程如图6所示。

在第1个时钟周期,所有数据进行两两比较并求解水平梯度和垂直梯度。

在第2个时钟周期,将比较结果进行累加并求解梯度的模。

在第3个时钟周期,把输入像素的灰度值存储到相应的顺序单元,并缓存模的值。

在第4个时钟周期,选取最大值和最小值,求解其平均值,同时缓存模的值。

在第5个时钟周期,将平均值作为阈值,并与3×3窗口中心像素的梯度模值进行比较,从而得到最终的结果。

其中,运用Bernsen算法求解序列中的最大值和最小值的平均值时,采用了全并行比较排序算法[8]

计算其他窗口的流程也如上所述,最终可得到图像分割结果。

3 实验结果

根据前述算法思想,首先在PC(2.83 GHz,core2 Quad CPU,2.98 G内存)上使用Matlab2014a软件计算进行算法验证,结果如图7所示。其次,为了对比自适应阈值分割的效果,在Matlab2014a上实现Sobel的边缘检测,如图8所示。从图7和图8的比较来看,自适应阈值分割算法较好。

同时,在NIPC-3邻域图像处理器上实现了非均匀光照下图像的分割,处理结果如图9所示。其中,FPGA工作频率为60 MHz。

从图7、图8和图9的结果中,可计算出二者结果的一致性。从实验结果上也可以看出自适应阈值图像分割的优越性,能有效抑制非均匀光照带来的影响。

同时,为了测试速度性能,还进行了时间上的分析,利用Quartus II的SignalTap工具,在程序中添加计数器,计算程序执行时钟数,对于一幅大小为512×512的图像,处理时间约为0.137 ms。

4 结论

本文提出一种将Sobel算子与Bernsen算法相结合的自适应阈值图像分割算法,利用该算法可以较好地实现图像分割。经过实际测验分析,该方法不仅能够实现图像分割,而且能够有效抑制非均匀光照对图像分割带来的影响。同时,通过利用全并行排序算法,使得求解最大值和最小值的平均值的时间大幅度下降。通过计时器来计算处理时间,仅为0.137 ms,能够满足实时应用的需求。

参考文献

[1] 刘东菊.基于阈值的图像分割算法的研究[D].北京:北京交通大学,2009.

[2] 李了了,邓善熙,丁兴号.基于大津法的图像分块二值化算法[J].微计算机信息,2005,21(3):76-77.

[3] 杨勇,范胜利,张芸蕾,等.一种基于FPGA非均匀光照图像分割方法[J].太原科技大学学报,2014,35(6):419-422.

[4] 陈博亚.大邻域图像处理系统的研制[D].北京:清华大学,2006.

[5] 刘炯鑫.NIPC-3邻域图像并行处理机的软件设计[D].北京:清华大学,2007.

[6] 苏光大.邻域图像处理中的新型邻域功能流水线结构[J].电子学报,2000,27(2):1-4.

[7] 王莉,苏光大.基于FPGA的实时中值滤波器硬件实现[J].电子技术应用,2011,37(04):58-60.

[8] 师廷伟,金长江.基于FPGA的并行全比较排序算法[J].数字技术与应用,2013(10):126-127.

相关推荐

【开源推荐】给大家推荐个基于ChatGPT的PHP开发库 openai-php-api

有了这个库大家就可以愉快的使用PHP对接chatGPT的官方接口了,至于对接了官方接口想要做什么就看你自己的啦环境要求PHP7.4或以上composer1.6.5以上支持框架Laravel、Sym...

PHP使用Phar打包控制台程序

1.介绍1.1介绍php脚本有着非常强大的库支持,可以轻松做出特别强大的程序。php不仅仅可以搭建各种各样的网站系统、平台系统,还可以开发基于控制台运行的程序。不过使用php开发的控制台程序在使用...

PHP实现URL编码、Base64编码、MD5编码的方法

1.介绍1.1介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很...

雷卯针对易百纳海思Hi3521D开发板防雷防静电方案

一、应用场景1、医疗电子2、安防监控3、数字标牌4、视频广告5、环境监测二、功能概述1CPU:ARMCortexA7双核@Max.1.3GHz2H.265/H.264&JPEG多码流编...

不折腾无人生-安卓盒子安装Linux系统armbian纪实

不折腾无人生-安卓盒子安装Linux系统armbian纪实小编的x96max+(晶晨Amlogics905x3)安卓盒子已安装二个系统,原装安卓9.0和tf卡上的CoreELEC9.2.3,可玩性...

全网最简单的玩客云刷casaos方法及后续使用心得

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:不鸣de前几天在站内看见很多值友分享了玩客云刷casaos,被简洁的操作界面种草,于是我将之前刷了powersee大神网页导航版armbia...

最新评测:英特尔旗舰 Alder Lake 处理器击败苹果M1 Max

据国外媒体tomshardware报道,英特尔最新的酷睿i9-12900HK处理器刚刚赢得了移动x86与Arm的性能大战,但这是有代价的。这款移动14核AlderLake芯片在多个工作负...

创维酷开Max系列电视开启ADB并安装第三方应用教程

前言创维酷开系列智能电视采用的是相对封闭的系统,虽然设置中提供了安装未知应用的选项,但由于电视安装位置的限制,往往难以直接使用USB接口安装应用。本文将详细介绍如何通过ADB方式在创维酷开Max系列电...

苹果 Mac Studio,再次刷新我们对个人电脑的认知

由两块M1Max组成的M1Ultra,成为了M1系列的最后一块拼图,并完成了整个M1SoC宇宙。这就好像《复仇者联盟4:终局之战》对于漫威第一阶段,十几年勤恳的布局,最终达到顶峰...

「必买」盘点2021年男人们的败家清单,越“败”越香

心里总想买点啥?看看《必买》,全网最有料的场景种草指南。草原割不尽,春风吹又生。在过去的2021年,不断被各种数码产品种草,一直在买买买,剁手不停。大部分产品都经过详细的对比做足了功课,也有部分是一时...

Opus音频编解码在arm上的移植

一、简介现在有个需求,在局域网内实现实时语音,传输层协议使用UDP协议,如果直接使用ALSA进行录制音频流并发送到另一端进行播放,音质会非常差,而且断断续续,原因如下:采样频率:fm=44.1K...

N ARM MINI空气减震系统臂体安装指南及应用说明

距离MOVMAX移动大师NARMMINI发布已经过去一段时间了,不少收到NARMMINI的小伙伴也已经迅速将产品投入到自己的车拍工作中去了。而在实际工作过程中我们也收到了用户的部分疑问和反馈:...

搜索引擎中的性能怪兽,Elasticsearch挑战者之Manticore Search

ManticoreSearch简介ManticoreSearch是一个使用C++开发的高性能搜索引擎,创建于2017年,其前身是SphinxSearch。ManticoreSe...

10个运维拿来就用的 Shell 脚本,用了才知道有多爽

1、监控MySQL主从同步状态是否异常脚本#!/bin/bashHOST=localhostUSER=rootPASSWD=123.comIO_SQL_STATUS=$(mysql-h$...

PHP7.0.0正式版开放下载:速度大提升

IT之家讯PHP发布经理AnatolBelski在GitHub发布了PHP7.0.0正式版,该版本在速度提升上面有非常大的进步,比5.6版本提速两倍,已经接近Facebook开发的PHP执行引擎...