• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

SOBEL边缘检测例程设计Verilog代码Quartus AX301开发板

10/15 09:15
699
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241112201334910.docx

共1个文件

名称:SOBEL边缘检测例程设计Verilog代码Quartus  AX301开发板

软件:Quartus

语言:Verilog

代码功能:

边缘是图像最基本的特征,其在计算机视觉、图像分析等应用中起着重要的作用,这是因为图像的边缘包含了用于识别的有用信息,是图像分析和模式识别的主要特征提取手段。

在图像中,“边缘”指的是临界的意思。一幅图像的“临界”表示为图像上亮度显著变化的地方,边缘指的是一个区域的结束,也是另一个区域的开始。“边缘点”指的是图像中具有坐标[x,y],且处在强度显著变化的位置上的点。

常用的边缘检测算法大多是以原始图像灰度值为基础,通过考察图像的每个像素的某个邻域内灰度的变化,利用边缘一阶或二阶导数的规律来检测边缘。下图左边为原始的黑白灰度的图像,通过边缘检测算法后变成了右边的图像。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在AX301开发板验证,AX301开发板如下,其他开发板可以修改管脚适配:

AX301开发板.png

设计文档:

SOBEL 边缘检测例程

1 实验简介

本实验将在例程“OV5640 摄像头 VGA 显示例程”的基础上实现视频图像边缘检测的实验。

在很多应用场合,我们只需要采集到图像的棱廓特征的信息,而丌需要全部的视频图像,这样就需要用到 SOBEL 边缘检测的算法。

2 实验原理

2.1 边缘检测原理和算法

边缘是图像最基本的特征,其在计算机视觉、图像分析等应用中起着重要的作用,这是因为图像的边缘包含了用于识别的有用信息,是图像分析和模式识别的主要特征提取手段。

在图像中,“边缘”指的是临界的意思。一幅图像的“临界”表示为图像上亮度显著变化的地方,边缘指的是一个区域的结束,也是另一个区域的开始。“边缘点”指的是图像中具有坐标[x,y],且处在强度显著变化的位置上的点。

常用的边缘检测算法大多是以原始图像灰度值为基础,通过考察图像的每个像素的某个邻域内灰度的变化,利用边缘一阶戒二阶导数的规律来检测边缘。下图左边为原始的黑白灰度的图像,通过边缘检测算法后变成了右边的图像。

实现边缘检测有很多丌同的方法,也一直是图像处理中的研究热点,人们期望找到一种抗噪 强、定位准、丌漏检、丌误检的检测算法。其中 Sobel 算子效果较好,边缘检测算法比较简单, 实际应用中效率比 canny 边缘检测效率要高,但是边缘丌如 Canny 检测的准确,但是很多实际应 用的场合,sobel 边缘却是首选,尤其是对效率要求较高,而对细纹理丌太关心的时候。本实验就 采用 Sobel 的算法来实现视频图像的边缘检测。

2.2 sobel 简介

sobel 是一个梯度的计算,如下图所示,是 x 和 y 方向的 3x3 窗口的卷积。

梯度计算公式,简化的近似计算。

对于图像,如下图:P1 到 P9 为 3x3 的 9 个像素点,简化公式计算:

3x3 图像窗口

为了进一步简化计算,我们把算子进行简化,调整为如下所示

3 程序设计

本实验的重点是 sobel 算法的实现,首先需要一个 3x3 的像素窗口,本实验利用 xilinx 提供的 VHDL 程序,做了一个 3 行的图像缓存,这样就可以轻松实现 3x3 的窗口。

然后按照简化公式,采用绝对值的方式计算 sobel。

计算完成以后,要进行简单的二值化处理,将 sobel 值和阈值对比,产生黑白的二值化图像。

4 实验现象

(1) 将摄像头模块插入开发板,保证 1 脚对齐,1 脚在焊盘形状和其他引脚是有明显区别的,是方形的。

摄像头模块连接图

(2) 连接好 VGA 显示器

(3) 下载实验程序,可以看到只有边沿信息的黑白视频输出。注意:ov5640 模块焦距是可调的,如果焦距不合适,图像会模糊,旋转镜头,可以调节焦距。摄像头模块要轻 拿轻放,不要用手触摸元器件。

部分代码展示:

//////////////////////////////////////////////////////////////////////////////////
//  CMOS sensor 8bit data is converted to 16bit data                            //
//                                                                              //
//  Author: meisq                                                               //
//          msq@qq.com                                                          //
//          ALINX(shanghai) Technology Co.,Ltd                                  //
//          heijin                                                              //
//     WEB: http://www.alinx.cn/                                                //
//     BBS: http://www.heijin.org/                                              //
//                                                                              //
//////////////////////////////////////////////////////////////////////////////////
//                                                                              //
// Copyright (c) 2017,ALINX(shanghai) Technology Co.,Ltd                        //
//                    All rights reserved                                       //
//                                                                              //
// This source file may be used and distributed without restriction provided    //
// that this copyright statement is not removed from the file and that any      //
// derivative work contains the original copyright notice and the associated    //
// disclaimer.                                                                  //
//                                                                              //
//////////////////////////////////////////////////////////////////////////////////
//================================================================================
//  Revision History:
//  Date          By            Revision    Change Description
//--------------------------------------------------------------------------------
//  2017/7/19     meisq          1.0         Original
//*******************************************************************************/

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1357

  • 2-241112201334910.docx
    下载

相关推荐