0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式操作教程:在LCD上显示灰度图像的直方图统计结果

冬至子 来源:创龙教仪-木江鹏 作者:创龙教仪-木江鹏 2023-11-30 16:10 次阅读

一、实验目的

学习直方图统计的原理,掌握图像的读取方法,并实现在LCD上显示灰度图像的直方图统计结果。

二、实验原理

灰度直方图

灰度直方图是关于灰度级分布的函数,是对图像中灰度级分布的统计。灰度直方图是

将数字图像中的所有像素,按照灰度值的大小,统计其出现的频率。灰度直方图是灰度

级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。

直方图是用来整理计量值的观测数据,分析其分布状态的统计方法,用于对总体的分布特征进行推断。直方图的作用如下:

(1)检验数据分布的类型,分析数据是否服从正态分布,判断数据有无异常;

(2)与产品规格界限做比较,可直观地判断分布中心是否偏离规格中心,以确定是否需要调整并求出其调整量;还可判断数据分布的散差(分布范围)是否满足规格范围的要求,以确定是否采取缩小散差的技术性措施;

(3)用于进行过程能力调查和不合格品率估计;

(4)客观地反映操作者的技术水平和主观努力程度。

image.png

从概率的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数 pdf(probability density function),而概率分布函数就是直方图的累积和,即概率密度函数的积分。也可以直接从代表每种灰度的象素数目的直方图来观察。

image.png

灰度直方图的计算是很简单的,依据定义,若图象具有 L(通常 L=256,即 8 位灰度级)级灰度,则大小为 MxN 的灰度图象 f(x,y)的灰度直方图 hist[0…L-1]可用如下计算获得:

(1)初始化 hist[k]=0 ; k=0,…,L-1

(2)统计 hist[f(x,y)]++ ; x, y =0,…,M-1, 0,…,N-1

(3)标准化 hist[f(x,y)]/=M*N

程序流程

程序流程设计中首先要进行外设使能配置,接着进行LCD管脚复用配置和LCD中断配置,然后进行LCD显示的初始化,最后读取工程目录下的BMP图像并进行直方图统计,并在 LCD 显示灰度值大 小的统计结果。

image.png

视频分析与视觉库

VLIB 是一个TI 的软件库,可加速视频分析开发并将性能提高多达 10 倍。VLIB 是针对 C6x DSP 内核优化的可扩展库。包括的40 多个内核的集合可以实现背景建模与减法、对象特征提取、追踪与识别和低级像素处理。

包括适用于 C64x+、C674x 和 C66x 处理器的 Windows 和 Linux 安装可执行文件。每个可执行文件安装一个组件包存储库、一个文档目录、一个 Eclipse 插件目录和一个扩展的组件目录结构,其中包含组件库、头文件和测试示例。

TMS320C6748处理器使用的是vlib_c674x_3_3_2_0。

vlib_c674x_3_3_2_0

将安装到CCS5.5 的安装路径,安装完成后会有相应的文件夹出现。源码所在路径:vlib_c674x_3_3_2_0packagestivlibsrc

image.png

程序源码

初始化缓存

使用VLIB 的库来为直方图计算进行缓存初始化。使用时,直接包含“VLIB_histogram_1D_Init_U8.h”文件 即可。

API 接口

VLIB_histogram_1D_Init_U8(const uint8_t *restrict binEdges,const int32_t numBins,

uint8_t *restrict histArray);

程序使用VLIB 的库来进行灰度直方图统计前的缓存初始化,调用的程序源码和使用说明可以安装VLIB后查看。调用的初始化函数中,第一个参数是直方图的边界值,第二个参数是直方图的区间数。第三个参数是内部使用的缓冲器。

image.png

直方图计算

使用VLIB 的库来从 8 位无符号整数数组计算直方图。使用时,直接包含“VLIB_histogram_1D_U8.h”文件 即可。

API 接口

VLIB_histogram_1D_U8(const uint8_t *restrict X, const int32_t numX,const int32_t numBins,const uint16_t binWeight,const uint8_t *restrict histArray,uint16_t *restrict H1,uint16_t *restrict H2,uint16_t *restrict H3,uint16_t *restrict H);

程序使用VLIB 的库来进行灰度直方图统计,调用的程序源码和使用说明可以安装VLIB后查看。调用的直方图统计函数中,第一个参数是输入图像的数组,第二个参数是输入图像数组的元素个数。第三个参数是直方图的区间数。第四个参数是直方图中该区域的像素增量。第五个参数是指向内部使用的缓冲器。第六~第八个参数是指向内部使用的数组。第九个参数是用来保存直方图计算结果的数组。

image.png

三、操作现象

实验设备

本实验使用的硬件接口为LCD,所需硬件为实验板、仿真器、LCD和电源

image.png

硬件连接

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

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

image.png

软件操作

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

编译工程,生成可执行文件

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

程序加载完成后点击运行程序

运行程序后,CCS的Console窗口会打印相关信息,同时LCD会显示标题。

稍等片刻后,图像处理完成,LCD会显示直方图的统计结果。

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

image.png

image.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19259

    浏览量

    229651
  • 缓冲器
    +关注

    关注

    6

    文章

    1921

    浏览量

    45473
  • 电源开关
    +关注

    关注

    12

    文章

    1033

    浏览量

    44559
  • LCD显示
    +关注

    关注

    0

    文章

    132

    浏览量

    18360
  • DSP控制
    +关注

    关注

    0

    文章

    12

    浏览量

    10592
收藏 人收藏

    评论

    相关推荐

    一文带你了解FPGA直方图操作

    很少黑暗区域或阴影的非常明亮的图像直方图的大部分数据点将位于图的右侧和中心。 FPGA处理中常用的是灰度直方图
    发表于 01-10 15:07

    DSP教学实验箱操作教程_数字图像处理:5-5 灰度图像直方图

    一、实验目的 学习直方图统计的原理,掌握图像的读取方法,并实现灰度图像直方图
    发表于 06-25 15:10

    DSP国产教学实验箱_嵌入式教程:5-7 直方图均衡化

    的方法来实现;直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。 直方图均衡化(Histogram Equalization)又称直方图平坦化,实质
    发表于 07-12 15:47

    嵌入式教程:5-6 灰度图像直方图LCD显示) # 嵌入式

    嵌入式
    创龙教仪
    发布于 :2023年07月10日 11:00:29

    基于FPGA的HDTV视频图像灰度直方图统计算法设计

    亮度分布特性有力的工具,根据它的结果可以进行诸如灰度拉伸、自动对比度、动态伽马调整等操作。图1 Lena 图像灰度
    发表于 05-14 12:37

    FPGA图像处理 直方图统计灰度拉伸 然后VGA显示的问题

    本人目前用FPGA做一个图像处理并VGA显示的东西,中间用到直方图统计灰度拉伸,使图像对比度提
    发表于 06-28 09:35

    基于FPGA的图像直方图实时显示

    处理,便于后续液晶屏显示直方图绘制,归一化的直方图结果取值范围是0~448,用256个10bit数据表示,存入双口RAM中。根据LCD
    发表于 07-12 17:33

    基于FPGA的图像直方图均衡处理

    如下。可以看到原图比较灰暗,对比度不强,它的直方图统计结果显示,它的大部分像素值集中0~100的区域内。而做过
    发表于 07-14 17:26

    玩转Zynq连载47——[ex66] MT9V034摄像头的图像直方图均衡处理

    均衡运算结果计算出新的图像流,这个图像流通过AXIHP1总线写入到DDR3中。AXI HP1总线也会根据LCD显示模块的请求,读取处理后的
    发表于 01-02 09:25

    本次视频教程讲解的是灰度图像直方图实验,图像数据通过LCD显示

    1、实验目的 本节视频的目的是学习直方图统计的原理,掌握图像的读取方法,并实现在LCD显示
    发表于 05-25 11:23

    嵌入式操作教程_DSP教学实验箱:5-6 灰度图像直方图LCD显示

    一、实验目的 学习直方图统计的原理,掌握图像的读取方法,并实现在LCD显示
    发表于 11-30 10:42

    TI C6000教学实验箱操作教程:5-8 直方图均衡化(LCD显示

    一、实验目的 学习直方图均衡化的原理,掌握图像的读取方法,并实现在LCD显示直方图均衡化前后的
    发表于 12-07 14:20

    LCD原理与基于嵌入式LCD驱动的设计与实现

    主要的工作是驱动程序的开发。因此结合液晶显示器(LCD) 设备,本课题研究嵌入式Linux 的LCD 驱动的设计与实现。 本设计实现了LCD
    发表于 10-19 17:12 8次下载
    <b class='flag-5'>LCD</b>原理与基于<b class='flag-5'>嵌入式</b>的<b class='flag-5'>LCD</b>驱动的设计与实现

    DSP嵌入式系统开发典型案例,第7章 图像显示LCD系统设计

    DSP嵌入式系统开发典型案例,第7章 图像显示LCD系统设计
    发表于 10-20 14:26 2次下载
    DSP<b class='flag-5'>嵌入式</b>系统开发典型案例,第7章 <b class='flag-5'>图像</b><b class='flag-5'>显示</b>和<b class='flag-5'>LCD</b>系统设计

    MATLAB如何实现图像增强灰度变换直方图均衡匹配

    MATLAB数字图像处理领域,如何实现空间域图像增强的灰度变换,以及图像直方图的均衡和匹配(配
    发表于 01-13 21:56 1.1w次阅读
    MATLAB如何实现<b class='flag-5'>图像</b>增强<b class='flag-5'>灰度</b>变换<b class='flag-5'>直方图</b>均衡匹配