前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于FPGA图像仿真系统的使用

基于FPGA图像仿真系统的使用

作者头像
FPGA开源工作室
发布2019-10-29 11:40:11
1.4K0
发布2019-10-29 11:40:11
举报
文章被收录于专栏:FPGA开源工作室

基于FPGA图像仿真系统的使用

1 FPGA图像仿真平台的介绍

图1 FPGA图像仿真系统

我们无法使用modelsim软件对一帧或者几帧图像直接读入到modelsim软件系统里面或者使用modelsim直接输出一帧或者几帧图像,但是modelsim软件可以通过verilog代码读取或写出txt文件。同时matlab又是强大的图像处理工具,这就给我们提供了思路。

如上图1所示,首先通过Matlab软件将图像转换为txt文档(img_txt.m),其次在图像仿真系统里面我们在VGA_CTL.v的VGA时序下使用imread.v读入txt文档(图像数据),在经过图像处理算法模块处理一帧或者连续几帧图像数据,通过imwrite.v将算法处理后的数据写入到txt文档里边。最后通过Matlab软件将txt文档还原成图像显示并保存(txt_img.m)。

这样做的好处是我们可以通过仿真看到图像处理各个环节的时序、数据变化以及最后算法处理后的图像显示,帮助我们快速找到算法中的bug。从而快速完成图像算法的仿真设计。

2 基于蓝色车牌定位的图像仿真系统的演示

要想识别车牌号码首先就要定位车牌。

2.1 颜色阈值化图像分割(颜色特征提取图像)

首先使用matlab软件找出目标颜色的ycbcr颜色空间下的Cb和Cr分量的阈值范围。

图2 截取特征颜色区域

第一步:截取需要分割的颜色如图2所示,并保存下来(为了更加准确识别可多截取几块)。

图3 查找特征颜色Cb和Cr范围

第二步:放入matlab软件里边查看Cb和Cr的阈值范围,如图三所示。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Project Name :y.m

% FPGA Open Source Studio

% Description: rgb to ycbcr

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all

close all

clc

img = imread('test5.png');

ycbcr = rgb2ycbcr(img);

y=ycbcr(:,:,1);

cb=ycbcr(:,:,2);

cr=ycbcr(:,:,3);

2.2 图像仿真系统的使用

第一步:使用img_txt.m将图像转化为txt文档。

图 4 图片转换txt前

图5 图片转换为txt数据

图6 转换完成后图片3个通道 R、G、B显示

第二步:copy txt文档到仿真路径下。

图7 copy txt文件到仿真路径下

或者我们在matlab代码里边增加文件生成路径直接到仿真路径下。

第三步:建立仿真。

图8 编译代码保证无错

图9 仿真建立完成

第四步:仿真过程中数据和时序的查看。

图10 仿真波形

图11 仿真数据

第五步:copy 仿真后的结果文档到matlab路径下。

图12 仿真结果文件

第六步:查看算法处理后的图像,并做对比是否成功。

图13 车牌定位过程

图14 蓝色车牌定位成功

总结:利用图像仿真平台可以快速实现图像算法的仿真验证。颜色特征提取可针对颜色特征比较突出的图像进行提取,例如肤色、车牌、交通号牌等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档