CN102799417A - 一种二值图像边缘检测的并行组合逻辑处理***和方法 - Google Patents
一种二值图像边缘检测的并行组合逻辑处理***和方法 Download PDFInfo
- Publication number
- CN102799417A CN102799417A CN2012102580303A CN201210258030A CN102799417A CN 102799417 A CN102799417 A CN 102799417A CN 2012102580303 A CN2012102580303 A CN 2012102580303A CN 201210258030 A CN201210258030 A CN 201210258030A CN 102799417 A CN102799417 A CN 102799417A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- parallel processor
- result
- ram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种二值图像边缘检测的并行组合逻辑处理***,包括图像存储RAM模块、控制器模块、并行处理器模块、结果存储RAM模块以及串口模块,图像存储RAM模块、控制器模块和并行处理器模块两两相连,并行处理器模块与结果存储RAM模块连接,结果存储RAM模块与串口模块、结果存储RAM模块相连,图像存储RAM模块用于存储目标图像数据,控制器模块用于控制并行处理器模块从图像存储RAM模块取数据,并行控制器模块用于处理数据,结果存储RAM模块用于存储并行处理器模块处理完毕的数据,串口模块用于通过结果存储RAM模块将处理完毕的数据传送到PC端。本发明能够简化传统的边缘检测算法,使对于某点的边缘检测不必采用大量复杂和耗时的计算。
Description
技术领域
本发明属于图像处理领域,更具体地,涉及一种二值图像边缘检测的并行组合逻辑处理***和方法。
背景技术
随着生产要求的提高,传统的通用型处理器在实时图像处理方面越来越显示出不足。在实时图像处理中,处理速度是检测***性能的一个重要指标,通用型处理器虽然可以满足不同目的的需求,但运行速度却不是很快。为了获得更快的实时性图像处理速度,边缘检测***得以广泛应用。
边缘检测***是数字图像处理和模式识别的重要组成部分,在图像处理中起着重要作用,其中检测算法的速度与精度直接影响着检测***的性能。边缘信息是图像的一种描述,是图像最基本的特征,如果能够首先得到图像的边缘,就可以进一步获得图像中用于识别的有用信息。传统的边缘检测算法是利用边缘检测算子(或者成为模板mask)对目标图像进行卷积运算即所谓的梯度锐化操作,得到图像灰度梯度值。随后与一定的阈值做比较,并进行二值化,从而得到图像的边缘。边缘检测算子包括Roberts、Sobel、Prewitt、LOG等。
然而,传统的边缘检测***在实时性要求比较高的环境下并不让人满意,主要有以下缺点:
(1)传统的边缘检测算法在处理速度上有一定的缺陷,首先,将边缘检测算子与目标图像进行卷积会用到乘法器,乘法器的使用会消耗大量的时钟周期;第二,检测的过程是串行的,必须逐行逐像素的对目标图像进行检测,非常消耗时间。
(2)传统的边缘检测算法通常是在通用性处理器上运行,是基于指令的,指令的执行是串行的,需要对每一条指令进行取指、译码、执行等操作,而且由于ALU的使用,对于某些需要用到计算的指令(尤其是乘法),会耗费大量的机器周期。而且,对于边缘检测处理来说,会用到大量的计算指令,更加加重了处理器在计算上面的时间消耗。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种二值图像边缘检测的并行组合逻辑处理***,其能够简化传统的边缘检测算法,使对于某点的边缘检测不必采用大量复杂和耗时的计算。
为实现上述目的,本发明提供了一种二值图像边缘检测的并行组合逻辑处理***,包括图像存储RAM模块、控制器模块、并行处理器模块、结果存储RAM模块以及串口模块,图像存储RAM模块、控制器模块和并行处理器模块两两相连,并行处理器模块与结果存储RAM模块连接,结果存储RAM模块与串口模块、结果存储RAM模块相连,图像存储RAM模块用于存储目标图像数据,控制器模块用于控制并行处理器模块从图像存储RAM模块取数据,并行控制器模块用于处理数据,结果存储RAM模块用于存储并行处理器模块处理完毕的数据,串口模块用于通过结果存储RAM模块将处理完毕的数据传送到PC端。
并行处理器模块包括数据预处理子模块和并行组合逻辑处理机组子模块,并行组合逻辑处理机组子模块包含256个组合逻辑边缘检测处理机,数据预处理子模块用于对数据进行预处理,通过将已处理行赋给上一行得到行up,待处理行赋给当前行得到行mid,当前行左移一位赋给右一行得到行right,当前行右移一位赋给左一行得到行left,读取下一行数据赋给下一行得到行down,从而得到待处理行的上、下、左、右行的数据,并在预处理完成后,置预处理完成信号prook为1,并行组合逻辑处理机组子模块用于在接收到数据预处理子模块31的预处理完成信号prook后,对数据进行处理,将mid、up、left、right、down行数据分离为256组数据,每组数据包含待处理像素点midi和其上、下、左、右的像素点upi、downi、lefti、righti,并将256组数据发送到256个组合逻辑边缘检测处理机中进行边缘检测。
结果存储RAM模块用于接收并行处理器模块发送的数据存储请求信号en_re,并且将并行处理器模块发送的数据data_in_re存储到控制器模块提供的取数地址row_addr指定的空间中,并向并行处理器模块发送数据存储响应信号ack_re,并在数据存储完毕之后,接收串口模块发送的数据传输请求信号req_series,并将数据传输到串口模块,并置数据传输响应信号ack_series为1。
串口模块用于将***时钟分频为4800bps,以clkBand8x作为分频后的时钟信号,从而与PC机串口同步,串口模块还用于接收到结果存储RAM模块发送数据传输响应信号ack_series和数据data_in_s,通过串行输出线Tx_data向PC机串口依次发送数据的起始位、数据位和终止位,串口模块还用于向结果存储RAM模块发送数据传输请求信号req_series,以请求下一行数据。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
(1)采用控制器模块控制整个***的数据存取,信号流向明显。
(2)采用并行控制器模块对数据进行处理,内部划分出256个处理机,可以一次性处理一行数据,加速效果明显。
(3)处理机没有用到算术逻辑单元ALU,其做边缘检测用用到的逻辑为一个4输入与非门和一个二输入与门;而且控制器地址的加1操作也由组合逻辑实现。
(4)集成度高、性能稳定、成本低廉、性价比极高。
本发明的另一目的在于提供一种二值图像边缘检测的并行组合逻辑处理方法,其能够脱离通用处理器,在FPGA的硬件基础上,采用VHDL硬件描述语言实现对于图片的边缘检测,同时结合组合逻辑的速度优势,可以在若干个时钟周期内完成一行像素的边缘检测。
为实现上述目的,本发明提供了一种二值图像边缘检测的并行组合逻辑处理方法,方法应用于包括图像存储RAM模块、控制器模块、并行处理器模块、结果存储RAM模块以及串口模块的二值图像边缘检测的并行组合逻辑处理***中,方法包括以下步骤:
(1)图像存储RAM模块存储目标图像数据,
(2)图像存储RAM模块、控制器模块、并行处理器模块、结果存储RAM模块、串口模块进行初始化
(3)控制器模块控制并行处理器模块从图像存储RAM模块取数据,
(4)并行处理器模块处理数据:
(5)结果存储RAM模块存储并行处理器模块处理完毕的数据,
(6)重复步骤(3)-(5),直到所有的数据都已经处理完毕为止,控制器模块置处理完成信号ok为1。
(7)串口模块通过结果存储RAM模块将处理完毕的数据传送到PC端。
步骤(1)具体为:并行处理器模块对控制器模块的数据请求信号req_p置1,对结果存储RAM模块的数据存储请求信号en_re置0,对结果存储RAM模块的数据线data_out_p置为全0,控制器模块的处理完成信号ok置0,对并行处理器模块的取数响应信号ack_p置0,对图像存储RAM模块的数据请求信号req_r置0,为图像存储RAM模块和结果存储RAM模块提供地址,并将地址row_addr初始化为全0,图像存储RAM模块对控制器模块的取数响应信号ack_r置0,对并行处理器模块的数据输出线data_out_r置全0,结果存储RAM模块对并行处理器模块的数据存储响应信号ack_re置0,对串口模块的数据传输响应信号ack_series置0,对串口模块的数据输出线data_out_re置全0,串口模块对结果存储RAM模块的数据传输请求信号req_series置1,串行输出线Tx_data置0。
步骤(3)具体包括以下子步骤:
(3-1)控制器模块接收并行处理器模块发送的数据请求信号req_p,并根据数据请求信号req_p向图像存储RAM模块发送数据请求信号req_r,
(3-2)图像存储RAM模块根据数据请求信号req_r和控制器模块提供的地址row_addr将图像存储RAM模块的数据通过数据线data_out_r传送到并行处理器模块中,控制器模块控制地址row_addr自动加1,
(3-3)控制器模块接收图像存储RAM模块发送的取数响应信号ack_r,并根据取数响应信号ack_r向并行处理器模块发送取数响应信号ack_p,以告知并行处理器模块取数据操作成功。
步骤(4)具体包括以下子步骤:
(4-1)并行处理器模块对数据进行预处理,将当前行数据赋给上一行,将待处理行数据赋给当前行,将当前行右移一位得到左一行,将当前行左移一位得到右一行,将输入数据赋给下一行,由此得到待处理行以及其上、下、左、右行,预处理完成后,置信号prook为1,
(4-2)并行处理器模块在其内部划分出256个组合逻辑边缘检测处理机,每个组合逻辑边缘检测处理机为一个四输入与非门和一个二输入与门组成的组合逻辑电路,可以完成对于一个像素点的边缘检测处理,256个处理机同时工作,一次性并行处理一行数据,
(4-3)并行处理器模块在所有处理机都处理完成后向控制器模块发送数据请求信号req_r,同时向结果存储RAM模块发送数据存储请求信号en_re和处理完毕的数据data_out_p。
步骤(5)具体包括以下子步骤:
(5-1)结果存储RAM模块根据并行处理器模块发送的数据存储请求信号en_re,从并行处理器模块接收数据,并将数据存储在控制器模块提供的取数地址row_addr指定的空间中,
(5-2)结果存储RAM模块在数据存储完成后向并行处理器模块发送数据存储响应信号ack_re。
步骤(7)具体包括以下子步骤:
(7-1)串口模块向结果存储RAM模块发送数据传输请求信号req_series,
(7-2)串口模块接收结果存储RAM模块发送的数据传输响应信号ack_series,并接收来自结果存储RAM模块的数据data_out_re,
(7-3)串口模块将***时钟分频为与PC机串口相同的波特率,以保持与PC机串口的同步,
(7-4)串口模块通过串行输出线Tx_data依次发送数据的起始位、数据位和终止位,
(7-5)串口模块重复子步骤(7-1)-(7-4),直到所有数据都发送完毕为止。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
(1)由于采用了步骤(3),***的信号流统一控制,易于实现。
(2)由于采用了步骤(4),将数据处理分为子步骤进行,各步骤之间通过内部信号加以协调,保证了并行处理器模块的顺利运行。
(3)在步骤(4)中,对于传统的边缘检测算法加以简化,以更适用于FPGA的硬件环境,以达到加速的目的。
(4)各个步骤之间的协调采用信号应答的方式进行,而且充分利用时钟的时钟沿,包括上升沿和下降沿,进行数据处理。
附图说明
图1是本发明二值图像边缘检测的并行组合逻辑处理***的示意图。
图2(a)是本发明控制器模块的总体结构原理图。
图2(b)是本发明控制器模块的地址加1子模块原理图。
图2(c)是本发明控制器模块的8位地址锁存器子模块原理图。
图3是本发明图像存储RAM模块的原理图。
图4(a)是本发明并行处理器模块的总体结构原理图。
图4(b)是本发明并行处理器模块的预处理子模块原理图。
图4(c)是本发明并行处理器模块的并行组合逻辑处理机组子模块原理图。
图4(d)是本发明并行处理器模块的组合逻辑边缘检测处理机原理图。
图5是本发明结果存储RAM模块的原理图。
图6是本发明串口模块的原理图。
图7是本发明二值图像边缘检测的并行组合逻辑处理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明二值图像边缘检测的并行组合逻辑处理***包括图像存储RAM模块1、控制器模块2、并行处理器模块3、结果存储RAM模块4以及串口模块5。
图像存储RAM模块1、控制器模块2、并行处理器模块3两两相连,并行处理器模块3与结果存储RAM模块4连接,结果存储RAM模块4与串口模块5、结果存储RAM模块4相连。
图像存储RAM模块1用于存储目标图像数据。具体而言,图像存储RAM模块1读取256*256的二值图像,并将其存储在描述图像存储RAM模块的.vhd文件中。
控制器模块2用于控制并行处理器模块3从图像存储RAM模块取数据。
具体而言,如图2(a)所示,控制器模块2接收并行处理器模块3发送的数据请求信号req_p,并根据数据请求信号req_p向图像存储RAM模块1发送数据请求信号req_r。
此后,如图3所示,图像存储RAM模块3接收控制器模块2发送的数据请求信号req_r,并且根据控制器模块2提供的地址row_addr通过数据线data_out_r将数据传送到并行处理器模块3中,之后向控制器模块2发送取数响应信号ack_r。图像数据每次传送一行,一行数据为256个像素点。
然后,控制器模块2在数据传送完成后,接收图像存储RAM模块1发送的取数响应信号ack_r,并根据取数响应信号ack_r,向并行处理器模块3发送取数响应信号ack_p,以告知并行处理器模块3取数据成功,并行处理器模块3可以开始处理数据。控制器模块2包含以下子模块:地址加1子模块21和8位地址锁存器子模块22。地址加1子模块21如图2(b)所示,8位地址锁存器子模块22如图2(c)所示。***初始化完成之后,控制器模块2接收到并行处理器模块3发送的数据请求信号req_p,在时钟的控制下,经由D触发器生成对图像存储RAM模块1的数据请求信号req_r,并将初始化后为全0的地址row_addr发送给图像存储RAM模块1;控制器模块2接收到图像存储RAM模块1发送的取数响应信号ack_r,在时钟的控制下,经由D触发器生成对并行处理器模块3的取数响应信号ack_p;表示row_addr的内部信号addr_in0~addr_in7经由子模块22锁存得到q0~q7,并与”11111111”对比,如果小于”11111111”,则addr_in0~addr_in7经由子模块21自动加1生成addr_out0~addr_out7,作为row_addr输出,为下一次取数据做准备,如果等于”11111111”,则置完成信号ok为1,表明***运行完成。
并行处理器模块3用于处理数据。如图4(a)所示,并行处理器模块3包括以下子模块:数据预处理子模块31和并行组合逻辑处理机组子模块32。数据预处理子模块31如图4(b)所示,并行组合逻辑处理机组子模块32如图4(c)所示。其中,并行组合逻辑处理机组子模块32包含256个组合逻辑边缘检测处理机T。***初始化完成之后,并行处理器模块3通过数据线data_in_p接收到来自图像存储RAM模块1的图像数据并将其发送到数据预处理子模块31中进行预处理。对某一待处理像素点来说,要检测其是否为边缘点,需要用到该点上、下、左、右四个方向的像素点。对一行待处理数据来说,需要用到其上、下、左、右行的数据。数据预处理子模块31对数据进行预处理,通过将已处理行赋给上一行得到行up,待处理行赋给当前行得到行mid,当前行左移一位赋给右一行得到行right,当前行右移一位赋给左一行得到行left,读取下一行数据赋给下一行得到行down,从而得到待处理行的上、下、左、右行的数据,其中,上一行,当前行和下一行的数据分别由256位锁存器锁存,保证数据的有效,预处理完成后,置预处理完成信号prook为1;并行组合逻辑处理机组子模块32接收到数据预处理子模块31的预处理完成信号prook后,开始对数据进行处理,将mid、up、left、right、down行数据分离为256组数据,每组数据包含待处理像素点midi和其上、下、左、右的像素点upi、downi、lefti、righti,并将256组数据发送到256个组合逻辑边缘检测处理机T中进行边缘检测,如图4(d)所示,每个组合逻辑边缘检测处理机T为由一个四输入与非门和一个二输入与门组成的组合逻辑***,256个组合逻辑边缘检测处理机T处理完成后的结果数据mi数据合成为结果数据M,数据处理完成子信号finishi合成为数据处理完成信号FINISH;判断数据处理完成信号FINISH是否为全1,如果为全1说明数据处理完成;之后并行处理器模块3向结果存储RAM模块发送数据存储请求信号en_re以及处理完毕的数据,并等待结果存储RAM模块发送数据存储响应信号ack_re。
结果存储RAM模块4用于存储并行处理器模块3处理完毕的数据。如图5所示,***初始化完成之后,结果存储RAM模块4接收并行处理器模块3发送的数据存储请求信号en_re,并且将并行处理器模块3发送的数据data_in_re存储到控制器模块2提供的取数地址row_addr指定的空间中,之后向并行处理器模块3发送数据存储响应信号ack_re;判断地址row_addr是否为全1,如果row_addr为全1说明所有数据存储完毕。所有数据存储完毕之后,图像存储RAM模块4接收串口模块5发送的数据传输请求信号req_series并将数据通过数据线data_out_re传输到串口模块5,并置数据传输响应信号ack_series为1。
串口模块5用于通过结果存储RAM模块4将处理完毕的数据传送到PC端。如图6所示,***初始化完成之后,串口模块5将***时钟(50MHz)分频为4800bps,以clkBand8x作为分频后的时钟信号,从而与PC机串口同步;串口模块5接收到结果存储RAM模块发送数据传输响应信号ack_series和数据data_in_s,通过串行输出线Tx_data向PC机串口依次发送数据的起始位、数据位和终止位,以state_tras记录发送状态,若state_tras为全1,则数据传送完毕;之后串口模块5向结果存储RAM模块4发送数据传输请求信号req_series,以请求下一行数据。
如图7所示,本发明二值图像边缘检测的并行组合逻辑处理方法包括以下步骤:
(1)图像存储RAM模块存储目标图像数据。具体而言,本发明的图像存储RAM模块读取256*256的二值图像,并将其存储在描述图像存储RAM模块的.vhd文件中。
(2)图像存储RAM模块、控制器模块、并行处理器模块、结果存储RAM模块、串口模块进行初始化,具体而言,并行处理器模块对控制器模块的数据请求信号req_p置1,对结果存储RAM模块的数据存储请求信号en_re置0,对结果存储RAM模块的数据线data_out_p置为全0,控制器模块的处理完成信号ok置0,对并行处理器模块的取数响应信号ack_p置0,对图像存储RAM模块的数据请求信号req_r置0,为图像存储RAM模块和结果存储RAM模块提供地址,并将地址row_addr初始化为全0,图像存储RAM模块对控制器模块的取数响应信号ack_r置0,对并行处理器模块的数据输出线data_out_r置全0,结果存储RAM模块对并行处理器模块的数据存储响应信号ack_re置0,对串口模块的数据传输响应信号ack_series置0,对串口模块的数据输出线data_out_re置全0,串口模块对结果存储RAM模块的数据传输请求信号req_series置1,串行输出线Tx_data置0。
(3)控制器模块控制并行处理器模块从图像存储RAM模块取数据,具体包括以下子步骤:
(3-1)控制器模块接收并行处理器模块发送的数据请求信号req_p,并根据数据请求信号req_p向图像存储RAM模块发送数据请求信号req_r。
(3-2)图像存储RAM模块根据数据请求信号req_r和控制器模块提供的地址row_addr将图像存储RAM模块的数据通过数据线data_out_r传送到并行处理器模块中,控制器模块控制地址row_addr自动加1。数据每次传送一行,每行是由256个像素点组成。
(3-3)控制器模块接收图像存储RAM模块发送的取数响应信号ack_r,并根据取数响应信号ack_r向并行处理器模块发送取数响应信号ack_p,以告知并行处理器模块取数据操作成功。
(4)并行处理器模块处理数据,具体包括以下子步骤:
(4-1)并行处理器模块对数据进行预处理,将当前行数据赋给上一行,将待处理行数据赋给当前行,将当前行右移一位得到左一行,将当前行左移一位得到右一行,将输入数据赋给下一行,由此得到待处理行以及其上、下、左、右行。预处理完成后,置信号prook为1,表示并行处理器模块内部的256个处理机可以进行对像素点的检测处理。
(4-2)并行处理器模块在其内部划分出256个组合逻辑边缘检测处理机,每个组合逻辑边缘检测处理机为一个四输入与非门和一个二输入与门组成的组合逻辑电路,可以完成对于一个像素点的边缘检测处理。256个处理机同时工作,一次性并行处理一行数据。
(4-3)并行处理器模块在所有处理机都处理完成后向控制器模块发送数据请求信号req_r,同时向结果存储RAM模块发送数据存储请求信号en_re和处理完毕的数据data_out_p。
(5)结果存储RAM模块存储并行处理器模块处理完毕的数据,具体包括以下子步骤:
(5-1)结果存储RAM模块根据并行处理器模块发送的数据存储请求信号en_re,通过数据线从并行处理器模块接收数据,并将数据存储在控制器模块提供的取数地址row_addr指定的空间中。
(5-2)结果存储RAM模块在数据存储完成后向并行处理器模块发送数据存储响应信号ack_re,此后并行处理器可以发送下一行处理完毕的数据。
(6)重复步骤(3)-(5),直到所有的数据都已经处理完毕为止,控制器模块置处理完成信号ok为1。
(7)串口模块通过结果存储RAM模块将处理完毕的数据传送到PC端,具体包括以下子步骤:
(7-1)串口模块向结果存储RAM模块发送数据传输请求信号req_series。
(7-2)串口模块接收结果存储RAM模块发送的数据传输响应信号ack_series,并通过数据线接收来自结果存储RAM模块的数据data_out_re。
(7-3)串口模块将***时钟分频为与PC机串口相同的波特率,以保持与PC机串口的同步。在本发明中,***时钟为50MHz,***分频为4800bps。
(7-4)串口模块通过串行输出线Tx_data依次发送数据的起始位、数据位和终止位。
(7-5)串口模块重复子步骤(7-1)-(7-4),直到所有数据都发送完毕为止。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种二值图像边缘检测的并行组合逻辑处理***,包括图像存储RAM模块、控制器模块、并行处理器模块、结果存储RAM模块以及串口模块,其特征在于,
所述图像存储RAM模块、所述控制器模块和所述并行处理器模块两两相连;
所述并行处理器模块与所述结果存储RAM模块连接;
所述结果存储RAM模块与所述串口模块、所述结果存储RAM模块相连;
所述图像存储RAM模块用于存储目标图像数据;
所述控制器模块用于控制所述并行处理器模块从所述图像存储RAM模块取数据;
所述并行控制器模块用于处理所述数据;
所述结果存储RAM模块用于存储所述并行处理器模块处理完毕的数据;
所述串口模块用于通过所述结果存储RAM模块将处理完毕的数据传送到PC端。
2.根据权利要求1所述的***,其特征在于,
所述并行处理器模块包括数据预处理子模块和并行组合逻辑处理机组子模块;
所述并行组合逻辑处理机组子模块包含256个组合逻辑边缘检测处理机;
所述数据预处理子模块用于对所述数据进行预处理,通过将已处理行赋给上一行得到行up,待处理行赋给当前行得到行mid,当前行左移一位赋给右一行得到行right,当前行右移一位赋给左一行得到行left,读取下一行数据赋给下一行得到行down,从而得到待处理行的上、下、左、右行的数据,并在预处理完成后,置预处理完成信号prook为1;
所述并行组合逻辑处理机组子模块用于在接收到所述数据预处理子模块31的预处理完成信号prook后,对所述数据进行处理,将mid、up、left、right、down行数据分离为256组数据,每组数据包含待处理像素点midi和其上、下、左、右的像素点upi、downi、lefti、righti,并将256组数据发送到所述256个组合逻辑边缘检测处理机中进行边缘检测。
3.根据权利要求1所述的***,其特征在于,
所述结果存储RAM模块用于接收所述并行处理器模块发送的数据存储请求信号en_re,并且将所述并行处理器模块发送的数据data_in_re存储到所述控制器模块提供的取数地址row_addr指定的空间中,并向所述并行处理器模块发送数据存储响应信号ack_re,并在数据存储完毕之后,接收所述串口模块发送的数据传输请求信号req_series,并将所述数据传输到所述串口模块,并置数据传输响应信号ack_series为1。
4.根据权利要求1所述的***,其特征在于,
所述串口模块用于将***时钟分频为4800bps,以clkBand8x作为分频后的时钟信号,从而与PC机串口同步;
所述串口模块还用于接收到所述结果存储RAM模块发送数据传输响应信号ack_series和数据data_in_s,通过串行输出线Tx_data向PC机串口依次发送数据的起始位、数据位和终止位;
所述串口模块还用于向所述结果存储RAM模块发送数据传输请求信号req_series,以请求下一行数据。
5.一种二值图像边缘检测的并行组合逻辑处理方法,所述方法应用于包括图像存储RAM模块、控制器模块、并行处理器模块、结果存储RAM模块以及串口模块的二值图像边缘检测的并行组合逻辑处理***中,其特征在于,所述方法包括以下步骤:
(1)所述图像存储RAM模块存储目标图像数据;
(2)所述图像存储RAM模块、所述控制器模块、所述并行处理器模块、所述结果存储RAM模块、所述串口模块进行初始化
(3)所述控制器模块控制所述并行处理器模块从所述图像存储RAM模块取数据;
(4)所述并行处理器模块处理所述数据:
(5)所述结果存储RAM模块存储所述并行处理器模块处理完毕的数据;
(6)重复步骤(3)-(5),直到所有的数据都已经处理完毕为止,所述控制器模块置处理完成信号ok为1。
(7)所述串口模块通过所述结果存储RAM模块将处理完毕的数据传送到PC端。
6.根据权利要求5所述的方法,其特征在于,所述步骤(1)具体为:所述并行处理器模块对所述控制器模块的数据请求信号req_p置1,对所述结果存储RAM模块的数据存储请求信号en_re置0,对所述结果存储RAM模块的数据线data_out_p置为全0,所述控制器模块的处理完成信号ok置0,对所述并行处理器模块的取数响应信号ack_p置0,对所述图像存储RAM模块的数据请求信号req_r置0,为所述图像存储RAM模块和所述结果存储RAM模块提供地址,并将地址row_addr初始化为全0,所述图像存储RAM模块对所述控制器模块的取数响应信号ack_r置0,对所述并行处理器模块的数据输出线data_out_r置全0,所述结果存储RAM模块对所述并行处理器模块的数据存储响应信号ack_re置0,对所述串口模块的数据传输响应信号ack_series置0,对所述串口模块的数据输出线data_out_re置全0,所述串口模块对所述结果存储RAM模块的数据传输请求信号req_series置1,串行输出线Tx_data置0。
7.根据权利要求5所述的方法,其特征在于,所述步骤(3)具体包括以下子步骤:
(3-1)所述控制器模块接收所述并行处理器模块发送的数据请求信号req_p,并根据所述数据请求信号req_p向所述图像存储RAM模块发送数据请求信号req_r;
(3-2)所述图像存储RAM模块根据所述数据请求信号req_r和所述控制器模块提供的地址row_addr将所述图像存储RAM模块的数据通过数据线data_out_r传送到所述并行处理器模块中,所述控制器模块控制地址row_addr自动加1;
(3-3)所述控制器模块接收所述图像存储RAM模块发送的取数响应信号ack_r,并根据所述取数响应信号ack_r向所述并行处理器模块发送取数响应信号ack_p,以告知所述并行处理器模块取数据操作成功。
8.根据权利要求5所述的方法,其特征在于,所述步骤(4)具体包括以下子步骤:
(4-1)所述并行处理器模块对所述数据进行预处理,将当前行数据赋给上一行,将待处理行数据赋给当前行,将当前行右移一位得到左一行,将当前行左移一位得到右一行,将输入数据赋给下一行,由此得到待处理行以及其上、下、左、右行,预处理完成后,置信号prook为1;
(4-2)所述并行处理器模块在其内部划分出256个组合逻辑边缘检测处理机,每个组合逻辑边缘检测处理机为一个四输入与非门和一个二输入与门组成的组合逻辑电路,可以完成对于一个像素点的边缘检测处理,256个处理机同时工作,一次性并行处理一行数据;
(4-3)所述并行处理器模块在所有处理机都处理完成后向所述控制器模块发送数据请求信号req_r,同时向所述结果存储RAM模块发送数据存储请求信号en_re和处理完毕的数据data_out_p。
9.根据权利要求5所述的方法,其特征在于,所述步骤(5)具体包括以下子步骤:
(5-1)所述结果存储RAM模块根据所述并行处理器模块发送的数据存储请求信号en_re,从所述并行处理器模块接收所述数据,并将所述数据存储在所述控制器模块提供的取数地址row_addr指定的空间中;
(5-2)所述结果存储RAM模块在数据存储完成后向所述并行处理器模块发送数据存储响应信号ack_re。
10.根据权利要求5所述的方法,其特征在于,所述步骤(7)具体包括以下子步骤:
(7-1)所述串口模块向所述结果存储RAM模块发送数据传输请求信号req_series;
(7-2)所述串口模块接收所述结果存储RAM模块发送的数据传输响应信号ack_series,并接收来自所述结果存储RAM模块的数据data_out_re;
(7-3)所述串口模块将***时钟分频为与PC机串口相同的波特率,以保持与所述PC机串口的同步;
(7-4)所述串口模块通过串行输出线Tx_data依次发送数据的起始位、数据位和终止位;
(7-5)所述串口模块重复子步骤(7-1)-(7-4),直到所有数据都发送完毕为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102580303A CN102799417A (zh) | 2012-07-24 | 2012-07-24 | 一种二值图像边缘检测的并行组合逻辑处理***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102580303A CN102799417A (zh) | 2012-07-24 | 2012-07-24 | 一种二值图像边缘检测的并行组合逻辑处理***和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102799417A true CN102799417A (zh) | 2012-11-28 |
Family
ID=47198534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102580303A Pending CN102799417A (zh) | 2012-07-24 | 2012-07-24 | 一种二值图像边缘检测的并行组合逻辑处理***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799417A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344116A (zh) * | 2018-09-21 | 2019-02-15 | 福州大学 | Prewitt算子的NEON加速引擎器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040012815A1 (en) * | 2002-07-19 | 2004-01-22 | Toshiba Tec Kabushiki Kaisha | Image processing apparatus and image processing method |
CN101811502A (zh) * | 2010-01-07 | 2010-08-25 | 中国科学院半导体研究所 | 基于并行处理的快速车道线检测装置 |
-
2012
- 2012-07-24 CN CN2012102580303A patent/CN102799417A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040012815A1 (en) * | 2002-07-19 | 2004-01-22 | Toshiba Tec Kabushiki Kaisha | Image processing apparatus and image processing method |
CN101811502A (zh) * | 2010-01-07 | 2010-08-25 | 中国科学院半导体研究所 | 基于并行处理的快速车道线检测装置 |
Non-Patent Citations (2)
Title |
---|
QINGSHUANG WU等: "the method of parallel gabor wavelet transform edge detection based on CUDA", 《ENVIRONMENTAL SCIENCE AND INFORMATION APPLICATION TECHNOLOGY(ESIAT),2010 INTERNATIONAL CONFERENCE ON》, vol. 3, 18 July 2010 (2010-07-18), pages 537 - 540, XP031751277 * |
贾昔玲: "一种新的基于二值图像的边缘检测算法", 《科技情报开发与经济》, vol. 19, no. 4, 30 April 2009 (2009-04-30) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344116A (zh) * | 2018-09-21 | 2019-02-15 | 福州大学 | Prewitt算子的NEON加速引擎器 |
CN109344116B (zh) * | 2018-09-21 | 2022-03-15 | 福州大学 | Prewitt算子的NEON加速引擎器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190087716A1 (en) | Method and system for processing neural network | |
CN104881666B (zh) | 一种基于fpga的实时二值图像连通域标记实现方法 | |
CN108681984A (zh) | 一种3*3卷积算法的加速电路 | |
CN208766715U (zh) | 3*3卷积算法的加速电路 | |
CN111738433A (zh) | 一种可重配置的卷积硬件加速器 | |
CN105446934A (zh) | 一种基于多核dsp的动目标及恒虚警检测*** | |
US10816989B2 (en) | Methods and systems of distributing task areas for cleaning devices, and cleaning devices | |
CN107315718A (zh) | 一种用于执行向量内积运算的装置和方法 | |
Kowalczyk et al. | Real-time implementation of contextual image processing operations for 4K video stream in Zynq ultrascale+ MPSoC | |
CN104778148A (zh) | 基于fpga的动态可重构嵌入式数据协处理平台及采用该平台实现的数据处理方法 | |
CN112799599B (zh) | 一种数据存储方法、计算核、芯片和电子设备 | |
CN107315717A (zh) | 一种用于执行向量四则运算的装置和方法 | |
CN107315566A (zh) | 一种用于执行向量循环移位运算的装置和方法 | |
CN112686379B (zh) | 集成电路装置、电子设备、板卡和计算方法 | |
CN115775301B (zh) | 一种基于三维引擎统一物体模型法线的方法、装置及设备 | |
CN107315568A (zh) | 一种用于执行向量逻辑运算的装置 | |
CN111639054A (zh) | 一种海洋模式与资料同化的数据耦合方法、***及介质 | |
CN102799417A (zh) | 一种二值图像边缘检测的并行组合逻辑处理***和方法 | |
JP7410961B2 (ja) | 演算処理装置 | |
CN107506773A (zh) | 一种特征提取方法、装置及*** | |
WO2023184754A1 (zh) | 可配置实时视差点云计算装置及方法 | |
CN109741237B (zh) | 大规模图像数据处理***及方法 | |
CN115330683A (zh) | 一种基于fpga的目标快速检测*** | |
CN102184521B (zh) | 高性能图像处理***及图像数据处理方法 | |
CN106484642B (zh) | 一种具有运算能力的直接存储器访问控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121128 |