基于TIC6000的教学实验箱的嵌入式操作教程:7-3 基于CMOS数字摄像头的边缘检测实验

本文详细介绍了使用OV2640摄像头进行图像采集,通过VPIF接口传输数据,并利用OpenCV进行边缘检测的过程。实验涉及硬件连接、软件操作和Canny边缘检测算法的实际应用,展示了如何实现实时图像处理并显示在LCD屏幕上。
摘要由CSDN通过智能技术生成

一、实验目的

学习边缘检测的原理,掌握OV2640 摄像头和VPIF总线的工作原理,实现OV2640 摄像头采集图像并进行实时图像边缘检测,并显示在 LCD 上。

二、实验原理

OV2640摄像头

OV2640 是世界上第一个 1/4 英寸 2 百万像素视频传感器,同时是 OmniVision 最新的

2.2 微米 OmniPixel2™架构的视频传感器,可支持 200 万像素,分辨率可高达 1600x1200,

帧率可达 30 帧/秒,最高帧率可达 60 帧/秒。

image.png

OV2640摄像头采集图像时,会先经过感光元件,采样的信号经过运放,再进行AD转换,AD量化之后得到数字化的视频信号会进行控制调整,最终通过视频输出接口输出。

除此之外还有其他的一些信号接口,比如时钟输入,像素时钟,行同步信号,帧同步信号,时序产生和逻辑控制单元等等。

image.png

OV2640时序

图像数据在HREF为高的时候输出,当HREF变高后,每一个PCLK时钟,输出一个字节数据。比如我们采用UXGA时序,RGB565格式输出,每2个字节组成一个像素的颜色(低字节在前,高字节在后),这样每行输出总共有16002个PCLK周期,输出16002个字节。

image.png

当HREF输出高电平时开始读取一行像素点,当低电平时不操作,重复操作即可读取一帧图像。OV2640支持:RGB565或JPEG输出。RGB565输出时,时序如图所示。JPEG输出时,PCLK大大减少,且HREF不连续,数据流以0XFF,0XD8开头,以0XFF,0XD9结束。

image.png

image.png

VPIF接口

VPIF是一种视频接口。VPIF的通道0和通道1只能用于接收数据,通道2和通道3只能用于发送数据。更多的接口说明可以自行查看相关手册。

image.png

VPIF 传输协议

VPIF 接口主要支持三种协议的传输:BT-656、BT-1120和Raw Capture mode

image.png

其中,VPIF 端口接收通道支持BT-656、BT-1120和Raw Capture mode三种协议,

image.png

VPIF 端口发送通道只支持BT-656

和BT-1120两种协议。

image.png

VPIF 支持格式

VPIF 支持三种格式:

NTSC(高清或者标清)

PAL(高清或标清)

普通图像格式(1080-30p)

image.png

边缘检测

在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变、纹理结构的图标、颜色的图标等。尽管图像的边缘点产生的原因各不相同,但他们都是图形上灰度不连续或灰度急剧变化的点,图像边缘分为阶跃状、斜坡状和屋顶状。

边缘其实就是图像上灰度级变化很快的点的集合。计算的方法是通过导数和微分的方式。

Canny 边缘检测

Canny 边缘检测算子是一个多级边缘检测算法,Canny 的目标是找到一个最优的边缘检测算法。

(1)应用高斯滤波来平滑图像,目的是去除噪声;

(2)找寻图像的强度梯度(intensity gradients);

(3)应用非最大抑制(non-maximum suppression)技术来消除边误检;

(4)应用双阈值的方法来决定可能的(潜在的)边界;

例如,双阈值t1和t2(t1≦t2),则大于t2的点肯定是边缘,小于t1的点肯定不是边缘。t1和t2之间的点,通过已经确定的边缘点,发起搜索,可到达的点是边缘,不可到达的点不是边缘。

(5)利用滞后技术来跟踪边界。

OpenCV

OpenCV 是一个基于 C/C++语言的开源图像处理函数库。

代码都经过优化,可用于实时处理图像

具有良好的可移植性

可以进行图像/视频载入、保存和采集的常规操作

具有低级和高级的应用程序接口(API)

提供了面向 Intel IPP 高效多媒体函数库的接口,可针对使用的 Intel CPU 优化代码,提高程序性能

OpenCV模块

OpenCV模块功能包括图像数据操作、图像/视频的输入输出、基本图像处理(去噪、边缘检测、角点检测、采样与插值、色彩变换、形态学处理、直方图、图像金字塔结构)等 。

cv – 核心函数库

cvaux – 辅助函数库

cxcore – 数据结构与线性代数库

highgui – GUI 函数库

ml – 机器学习函数库

程序流程设计:

程序流程设计中首先要使能缓存,接着进行DSP中断初始化和LCD的初始化,然后初始化配置I2C和OV2640摄像头,初始化VPIF总线。最后摄像头采集接收数据,灰度转换后进行图像边缘检测处理,并将数据显示在LCD上。

image.png

三、操作现象

实验设备

本实验使用的硬件接口为LCD和VPIF 接口,所需硬件为实验板、仿真器、TL2640I 摄像头模块、LCD和电源。

image.png

硬件连接

(1)将 TL2640I 摄像头模块连接到实验板的 VPIF 接口。

(2)连接仿真器和电脑的USB接口,

(3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

image.png

软件操作

导入工程,选择Demo文件夹下的对应工程

编译工程

将CCS连接实验箱并加载程序

点击运行程序

在LCD屏幕上实时显示采集并做了边缘检测处理的图像

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

image.png

image.png

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值