设为首页 加入收藏

TOP

基于 FPGA 的图像边缘检测(三)
2017-10-10 12:21:17 】 浏览:8053
Tags:基于 FPGA 图像 边缘 检测
gin
post_y_data_r<=16'h00; end else if(squart_out>=threshold) post_y_data_r<=16'h00 ; else post_y_data_r<=16'hffff ; end

 


 

图片的显示

本来是想用 VGA 来显示图片的,由于条件的限制没能实现,最终只能将处理完的数据输出保存在 .txt 文件中,然后借助好友写的网页进行显示。

难点:(1) 如何将数据流输出保存到 .txt 文件中。

        (2) 网页的使用及注意事项

在testbench里加入下面所示代码即可将图片数据保存到 .txt 文本

代码如下:

     integer w_file;  
     initial
     w_file = $fopen("data_out_3.txt");   //保存数据的文件名

     always @(posedge clk or negedge rst_n)  
     begin  
      if(flag_write==1&&post_href==1)//根据自己的需求定义
        $fdisplay(w_file,"%b",post_y_data);   
      end      

------------------------------------------------------------------------------------------------

网页的界面如下,将参数设置好以后就可以显示图片。

下载链接  http://files.cnblogs.com/files/aslmer/aggregrate.zip

注意:由于此网站是量身定做的,所以只能显示数据格式为RGB565的16位二进制的数才能正确显示,注意不能有分号,正确格式示例如下,必须严格遵守

 


 

 结果展示

 

1 原图

   2 灰度图

    3 均值滤波

4 边缘检测 阈值为5

  

5  阈值为 10

 

6  阈值为 16       

小结:均值滤波处理后的图片有明显的黑边,产生这一现象的原因就是生成 3*3 像素矩阵和取像素值时数据有损失造成的,但是这也是可以优化的,后续我会继续努力不断完善。本次只是简单对一幅图像进行边缘检测,我的后续目标是实现图片的实时处理,这又需要学习很多东西了,SDRAM、摄像头驱动等等等,越学习越发现自己知道的实在是太少了,永远在路上,学无止境。希望我的分享能够帮助一些和我一样热爱 FPGA 图像处理的朋友。

                                                                                                                                                                   

                                                                                                                                                                                  每天进步一点点,开心就好

                                                                                                                                                                                       aslmer

转载请注明出处 http://www.cnblogs.com/aslmer/p/5779079.html

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇verilog 实现中值滤波 下一篇SDRAM 学习(三)之command

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目