一、實驗?zāi)康?/h1>
學(xué)習(xí)直方圖統(tǒng)計的原理,掌握圖像的讀取方法,并實現(xiàn)在LCD上顯示灰度圖像的直方圖統(tǒng)計結(jié)果。
二、實驗原理
灰度直方圖
灰度直方圖是關(guān)于灰度級分布的函數(shù),是對圖像中灰度級分布的統(tǒng)計?;叶戎狈綀D是
將數(shù)字圖像中的所有像素,按照灰度值的大小,統(tǒng)計其出現(xiàn)的頻率?;叶戎狈綀D是灰度
級的函數(shù),它表示圖像中具有某種灰度級的像素的個數(shù),反映了圖像中某種灰度出現(xiàn)的頻率。
直方圖是用來整理計量值的觀測數(shù)據(jù),分析其分布狀態(tài)的統(tǒng)計方法,用于對總體的分布特征進行推斷。直方圖的作用如下:
(1)檢驗數(shù)據(jù)分布的類型,分析數(shù)據(jù)是否服從正態(tài)分布,判斷數(shù)據(jù)有無異常;
(2)與產(chǎn)品規(guī)格界限做比較,可直觀地判斷分布中心是否偏離規(guī)格中心,以確定是否需要調(diào)整并求出其調(diào)整量;還可判斷數(shù)據(jù)分布的散差(分布范圍)是否滿足規(guī)格范圍的要求,以確定是否采取縮小散差的技術(shù)性措施;
(3)用于進行過程能力調(diào)查和不合格品率估計;
(4)客觀地反映操作者的技術(shù)水平和主觀努力程度。
從概率的觀點來理解,灰度出現(xiàn)的頻率可看作其出現(xiàn)的概率,這樣直方圖就對應(yīng)于概率密度函數(shù) pdf(probability density function),而概率分布函數(shù)就是直方圖的累積和,即概率密度函數(shù)的積分。也可以直接從代表每種灰度的象素數(shù)目的直方圖來觀察。
灰度直方圖的計算是很簡單的,依據(jù)定義,若圖象具有 L(通常 L=256,即 8 位灰度級)級灰度,則大小為 MxN 的灰度圖象 f(x,y)的灰度直方圖 hist[0…L-1]可用如下計算獲得:
(1)初始化 hist[k]=0 ; k=0,…,L-1
(2)統(tǒng)計 hist[f(x,y)]++ ; x, y =0,…,M-1, 0,…,N-1
(3)標準化 hist[f(x,y)]/=M*N
程序流程
程序流程設(shè)計中首先要進行外設(shè)使能配置,接著進行LCD管腳復(fù)用配置和LCD中斷配置,然后進行LCD顯示的初始化,最后讀取工程目錄下的BMP圖像并進行直方圖統(tǒng)計,并在 LCD 顯示灰度值大 小的統(tǒng)計結(jié)果。
視頻分析與視覺庫
VLIB 是一個TI 的軟件庫,可加速視頻分析開發(fā)并將性能提高多達 10 倍。VLIB 是針對 C6x DSP 內(nèi)核優(yōu)化的可擴展庫。包括的40 多個內(nèi)核的集合可以實現(xiàn)背景建模與減法、對象特征提取、追蹤與識別和低級像素處理。
包括適用于 C64x+、C674x 和 C66x 處理器的 Windows 和 Linux 安裝可執(zhí)行文件。每個可執(zhí)行文件安裝一個組件包存儲庫、一個文檔目錄、一個 Eclipse 插件目錄和一個擴展的組件目錄結(jié)構(gòu),其中包含組件庫、頭文件和測試示例。
TMS320C6748處理器使用的是vlib_c674x_3_3_2_0。
vlib_c674x_3_3_2_0
將安裝到CCS5.5 的安裝路徑,安裝完成后會有相應(yīng)的文件夾出現(xiàn)。源碼所在路徑: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 的庫來進行灰度直方圖統(tǒng)計前的緩存初始化,調(diào)用的程序源碼和使用說明可以安裝VLIB后查看。調(diào)用的初始化函數(shù)中,第一個參數(shù)是直方圖的邊界值,第二個參數(shù)是直方圖的區(qū)間數(shù)。第三個參數(shù)是內(nèi)部使用的緩沖器。
直方圖計算
使用VLIB 的庫來從 8 位無符號整數(shù)數(shù)組計算直方圖。使用時,直接包含“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 的庫來進行灰度直方圖統(tǒng)計,調(diào)用的程序源碼和使用說明可以安裝VLIB后查看。調(diào)用的直方圖統(tǒng)計函數(shù)中,第一個參數(shù)是輸入圖像的數(shù)組,第二個參數(shù)是輸入圖像數(shù)組的元素個數(shù)。第三個參數(shù)是直方圖的區(qū)間數(shù)。第四個參數(shù)是直方圖中該區(qū)域的像素增量。第五個參數(shù)是指向內(nèi)部使用的緩沖器。第六~第八個參數(shù)是指向內(nèi)部使用的數(shù)組。第九個參數(shù)是用來保存直方圖計算結(jié)果的數(shù)組。
三、操作現(xiàn)象
實驗設(shè)備
本實驗使用的硬件接口為LCD,所需硬件為實驗板、仿真器、LCD和電源。
硬件連接
(2)將撥碼開關(guān)撥到DEBUG模式01111,連接實驗箱電源,撥動電源開關(guān)上電。
軟件操作
導(dǎo)入工程,選擇Demo文件夾下的對應(yīng)工程
編譯工程,生成可執(zhí)行文件
將CCS連接實驗箱并加載程序
程序加載完成后點擊運行程序
運行程序后,CCS的Console窗口會打印相關(guān)信息,同時LCD會顯示標題。
稍等片刻后,圖像處理完成,LCD會顯示直方圖的統(tǒng)計結(jié)果。
實驗結(jié)束后,先點擊黃色按鈕暫停程序運行,再點擊紅色按鈕退出CCS與實驗板的連接,最后實驗箱斷電即可。
-
處理器
+關(guān)注
關(guān)注
68文章
19259瀏覽量
229652 -
緩沖器
+關(guān)注
關(guān)注
6文章
1921瀏覽量
45473 -
電源開關(guān)
+關(guān)注
關(guān)注
12文章
1033瀏覽量
44559 -
LCD顯示
+關(guān)注
關(guān)注
0文章
132瀏覽量
18360 -
DSP控制
+關(guān)注
關(guān)注
0文章
12瀏覽量
10592
發(fā)布評論請先 登錄
相關(guān)推薦
評論