一、實驗目的
學習直方圖統計的原理,掌握圖像的讀取方法,并實現在LCD上顯示灰度圖像的直方圖統計結果。
二、實驗原理
灰度直方圖
灰度直方圖是關于灰度級分布的函數,是對圖像中灰度級分布的統計?;叶戎狈綀D是
將數字圖像中的所有像素,按照灰度值的大小,統計其出現的頻率?;叶戎狈綀D是灰度
級的函數,它表示圖像中具有某種灰度級的像素的個數,反映了圖像中某種灰度出現的頻率。
直方圖是用來整理計量值的觀測數據,分析其分布狀態的統計方法,用于對總體的分布特征進行推斷。直方圖的作用如下:
(1)檢驗數據分布的類型,分析數據是否服從正態分布,判斷數據有無異常;
(2)與產品規格界限做比較,可直觀地判斷分布中心是否偏離規格中心,以確定是否需要調整并求出其調整量;還可判斷數據分布的散差(分布范圍)是否滿足規格范圍的要求,以確定是否采取縮小散差的技術性措施;
(3)用于進行過程能力調查和不合格品率估計;
(4)客觀地反映操作者的技術水平和主觀努力程度。
從概率的觀點來理解,灰度出現的頻率可看作其出現的概率,這樣直方圖就對應于概率密度函數 pdf(probability density function),而概率分布函數就是直方圖的累積和,即概率密度函數的積分。也可以直接從代表每種灰度的象素數目的直方圖來觀察。
灰度直方圖的計算是很簡單的,依據定義,若圖象具有 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 顯示灰度值大 小的統計結果。
視頻分析與視覺庫
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
程序源碼
初始化緩存
使用VLIB 的庫來為直方圖計算進行緩存初始化。使用時,直接包含“VLIB_histogram_1D_Init_U8.h”文件 即可。
VLIB_histogram_1D_Init_U8(const uint8_t *restrict binEdges,const int32_t numBins,
uint8_t *restrict histArray);
程序使用VLIB 的庫來進行灰度直方圖統計前的緩存初始化,調用的程序源碼和使用說明可以安裝VLIB后查看。調用的初始化函數中,第一個參數是直方圖的邊界值,第二個參數是直方圖的區間數。第三個參數是內部使用的緩沖器。
直方圖計算
使用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后查看。調用的直方圖統計函數中,第一個參數是輸入圖像的數組,第二個參數是輸入圖像數組的元素個數。第三個參數是直方圖的區間數。第四個參數是直方圖中該區域的像素增量。第五個參數是指向內部使用的緩沖器。第六~第八個參數是指向內部使用的數組。第九個參數是用來保存直方圖計算結果的數組。
三、操作現象
實驗設備
本實驗使用的硬件接口為LCD,所需硬件為實驗板、仿真器、LCD和電源。
硬件連接
(2)將撥碼開關撥到DEBUG模式01111,連接實驗箱電源,撥動電源開關上電。
軟件操作
導入工程,選擇Demo文件夾下的對應工程
編譯工程,生成可執行文件
將CCS連接實驗箱并加載程序
程序加載完成后點擊運行程序
運行程序后,CCS的Console窗口會打印相關信息,同時LCD會顯示標題。
稍等片刻后,圖像處理完成,LCD會顯示直方圖的統計結果。
實驗結束后,先點擊黃色按鈕暫停程序運行,再點擊紅色按鈕退出CCS與實驗板的連接,最后實驗箱斷電即可。
-
處理器
+關注
關注
68文章
19436瀏覽量
231314 -
緩沖器
+關注
關注
6文章
1950瀏覽量
45676 -
電源開關
+關注
關注
12文章
1037瀏覽量
44827 -
LCD顯示
+關注
關注
0文章
132瀏覽量
18465 -
DSP控制
+關注
關注
0文章
12瀏覽量
10625
發布評論請先 登錄
相關推薦
DSP國產教學實驗箱_嵌入式教程:5-7 直方圖均衡化
![](https://file1.elecfans.com/web2/M00/8C/5C/wKgaomSrdDGAMxLFAAKIUsYp-TA060.jpg)
基于FPGA的HDTV視頻圖像灰度直方圖統計算法設計
基于FPGA的圖像直方圖實時顯示
TI C6000教學實驗箱操作教程:5-8 直方圖均衡化(LCD顯示)
LCD原理與基于嵌入式的LCD驅動的設計與實現
![<b class='flag-5'>LCD</b>原理與基于<b class='flag-5'>嵌入式</b>的<b class='flag-5'>LCD</b>驅動的設計與實現](https://file.elecfans.com/web2/M00/4A/15/pYYBAGKhvJWAcv9PAAAyMkEHchQ733.png)
評論