紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

毛华望 提交于 周四, 07/30/2020
紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

大家好:我是毛华望。目前在参加紫光同创PGL22G开发平台试用。连载第4篇。

先说一下边缘检测吧。

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

这就是边缘检测效果图。

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

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

准备的实现方案

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

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

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

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

还是先完成基础内容吧。

第一部分:程序部分

       串口通信部分。

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

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

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

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

和程序的效果一样,

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

发送HELLO  ALINX

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

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

第二部分:matlab部分。

       安装matlab,过程省略。

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

  f=imread('girl.png');

if ndims(f) == 3 

           f=rgb2gray(f); 

end

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

imshow(f1)

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

双击f1

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

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

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

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

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

紫光同创PGL22G开发平台试用连载(4)---边缘检测之串口通信篇

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

第三部分:modelsim仿真

目前只是初级阶段,还不需要仿真。这里暂时就是空白吧。当然,作为老牌的FPGA工程师。Modelsim的软件还是有的。至于安装和破解吧。哈哈。你们都是FPGA工程师都会吧(其实我早就忘记了,需要百度找教程才能安装了吧。)。

到这里,fpga部分的基础工作,matlab数据的基础工作,modelsim的基础工作就都已经完备了。

下一篇就要开始专注边缘检测的部分了。敬请期待。

注册送8―88的白菜网址相关的文章

Digi-Key