先说一下边缘检测吧。

这就是边缘检测效果图。

图像的边缘其实就是像素的突变,也就是左右两边的数值有较大的变化。比如说:影子边缘吧。就是白色突然过渡到了黑色的过程。检测边缘的原理也就是这样的,只要左右2边的图像数值变化够大就认为是边缘。

边缘检测的大概说明也就说这些。

准备的实现方案:

因为我手边没有视频输入端,没有视频输出端。所以,准备用串口进行图像的输入输出。

           第一步,用matlab把图像变成数据,在用串口输入和输出。

           第二步, 串口把图像数据送到FPGA里面,在FPGA里进行边缘检测,在用串口传输回来。

呵呵,本来是想用python的,不过python不太熟还是算了吧。用matlab吧。

还是先完成基础内容吧。

第一部分:程序部分

       串口通信部分。

       找了一下串口的程序以及有了。Dome里面有了。

程序是有了。来找个串口调试助手测试一下。

和程序的效果一样,

发送HELLO  ALINX

目前发送和回传就都有了。

第二部分:matlab部分。

       安装matlab,过程省略。

  f=imread('girl.png');

if ndims(f) == 3

           f=rgb2gray(f);

end

f1 = imresize(f, [200,200]);      

imshow(f1)

  上面附上matlab程序部分。  这样图像的数据就出来了。

双击f1

这就是图像的每个像素点数据。有了这些数据,到时候边缘检测的时候。就把这些数据串口发送到FPGA里面进行处理。

我们必须把数据导出来才方便使用啊。还是把数据用txt输出吧。这样串口就能发送出去了。

这样的话,就会有一个sobel_in.txt的文本生成。好,现在来查看一下是不是我们想要的数据。

跟matlab里面保存的数据是一样的。可以了。

第三部分:modelsim仿真