lcytms
发表于 2017-5-2 14:41:29
1052
准备文档。
高度和宽度可定制。
这个做完了之后,我们用手机拍下任何一张图像,立刻就可以算出来。
D_BASE我们做大一些。
lcytms
发表于 2017-5-2 14:42:45
1053
准备文档。
053000H可以做到1080*768。
如果觉得不妥的话,可以把D_BASE往后抬。
要放得下这个图像。
lcytms
发表于 2017-5-2 14:45:01
1054
准备文档。
地址说明一下,一个地址寻址一个字节。
数据总线是4个字节。
一次要寻址4个数。
lcytms
发表于 2017-5-2 14:45:58
1055
准备文档。
我做完了。
然后呢,我们第一组。
一组一组的做下去。
lcytms
发表于 2017-5-2 14:48:26
1056
方法就是3*3的模板,从图像的左侧扫描到右侧。
更新目录。
保存sobel为sobelv10,压缩备份。
lcytms
发表于 2017-5-2 14:49:09
1057
发送文件。
lcytms
发表于 2017-5-2 14:50:39
1058
指导设计。
算法还是清楚的,就是从600*400,取3*3。
有一个问题,第一行、第二行、第三行,或者说我们要计算坐标,对应Z5的这一行,当前行CR。
它必须要知道前一行PR、下一行NR。
lcytms
发表于 2017-5-2 14:52:16
1059
我们先来看看它的顶层。
条条大路通罗马,这个算法是解决的方案之一。
我们来看看夏老师和苏阳博士是怎么做的。
它们要准备一个3*3的一个计算阵列,就像PPT里的左图,由8b组成的3*3的一个阵列。
lcytms
发表于 2017-5-2 14:53:34
1100
是一个计算阵列。
中间这一点,Z5。
套用这个公式。
偏导数的公式。
这是一个计算。
然后呢,由于要得到3个行,要得到CR、PR、NR。
所以说呢,它在这个架构上,准备了一个行寄存器。
行寄存器是前一行的PR的寄存器、CR的寄存器和NR的寄存器。
这个寄存器每次读4个像素。
数据总线是32位的。
一次读4个像素,依次排好。
把3个行缓存器填满。
lcytms
发表于 2017-5-2 14:55:16
本帖最后由 lcytms 于 2017-5-2 14:56 编辑
1101
然后顺序地执行一次左移。
看图。
做算法的时候,我们要注意,一定要算到它的左上角。
左移一拍,就进入D_BASE。
再左移一拍,又进入一个。
再左移一拍,又进入一个。
如此形成流水,来进行计算。
无论怎么算,你都必需要把这个3*3的模板填满。
填满你必须要得到前一行、当前行、下一行。