lcytms
发表于 2017-5-2 13:59:22
1015
Sobel_filter_zx1702。
命名要求看得懂,不相同。
对接Memory。
给出Memory的地址。
lcytms
发表于 2017-5-2 14:00:54
1016
给出读写命令。
为什么要读写呢?
图像进来,那个Camera捕获到600*400图像。
lcytms
发表于 2017-5-2 14:01:49
1017
读的时候当然要把原始图像读出来。
得到导数以后,导数也要放进去。
从原始图像算到了导数图像,放进去。
我们只做到导数图像。
因为有了导数图像,要得到图像的边缘,很简单。
只需要把导数图像读出来,进行阈值切换,≥阈值输出为1,否则输出为0。
我们看到了,白色地方为1,黑色地方为0。
大家注意,夏老师或者我们绿皮书教材里面,并不是边缘图像,而是导数图像。
lcytms
发表于 2017-5-2 14:02:59
1018
当然还要有mem_data,mem_q。
这是对架构的讨论。
然后呢,这个Sobel_filter做什么呢?
它就是一个独立图像的滤波器,sobel的过滤器。
这边给出一个启动信号,start。
lcytms
发表于 2017-5-2 14:04:01
1019
Memory里面哪个区域放原始图像,哪个区域放导数图像,都已经定义下来了。
一旦启动了,它就开始从BASE上,从基地址上,读出数据来。
怎么读呢?
这就是我们今天终于要讨论的问题。
刚才我们已经知道算法了。
用3*3的模板来做的。
lcytms
发表于 2017-5-2 14:05:30
1020
Start以后,它就会用3*3的模板来扫描原始图像。
算了一个导数,再写回去。
按照流水,再写回到它的导数区。
它的上游要发出Start。
发出者是什么呢?
它可能是游戏程序,是虚拟现实,也可能是人工智能的程序。
总之它现在需要得到这个图像的边缘。
这个程序发出start来,于是就有握手。
一旦发出start之后,它会怎么样?
它就busy了,就忙了。
它不是一下子就能做完的。
我们现在是600*400,做完之前,再来新的start是不可以的。
所以说这里有一个done的握手,done为真,做完了。
lcytms
发表于 2017-5-2 14:07:35
1021
当done为低电平的时候,逻辑是不应该发新的start的。
除非done结束了。
前一个图像边缘检测算法做完了以后它会发新的。
然后呢,我们加上时钟、复位。
我们先休息十分钟,之后我们来讨论该怎么算,算法实现的问题。
(休息)
lcytms
发表于 2017-5-2 14:08:25
1029
现在我们来完成这个设计。
我们用电子版来做。
我开个头,然后我们一个组一个组地做。
lcytms
发表于 2017-5-2 14:09:20
1030
用Matlab做的步骤方法,我到时候发给大家。
很简单。
新建一个doc文件夹和code文件夹。
lcytms
发表于 2017-5-2 14:11:58
1031
将之前的文件移入doc文件夹。
新建word文件图像_加速器课程设计报告.docx。