整套方案的基本原理主要是利用ADI公司最近推出800MMAC/400MHz的高速處理器的硬件開發(fā)平臺的進(jìn)行開發(fā),活動功耗低至88 mW,采用小型9 mm x 9 mm 64引腳LFCSP封裝,能夠充分滿足工業(yè)、醫(yī)療、視頻、音頻和通用市場的需求,本系統(tǒng)利用該平臺的168Pin EXPORT擴(kuò)展卡插槽或標(biāo)準(zhǔn)的RS-232串口進(jìn)行數(shù)據(jù)的傳輸,如圖1所示:
圖1 原理圖
2圖片顯微實現(xiàn)原理
圖像的放大可以用插值的方法,其中一種簡單的插值就是線性插值,線性插值雖然簡單,卻非常有效。我們在該試驗中就使用了線性插值的方法。
所謂線性插值就是說:有一組離散數(shù)據(jù){a(1),a(2),…,a(n)},我們想要知道a(k)和a(k+1)之間的數(shù)a(m) (k<m<k+1)是多少。但因為數(shù)據(jù)是離散的,我們只知道a(k)和a(k+1),因此我們只能對a(m)進(jìn)行一個估計,這個估計的值就叫插值。一種比較合理的估計是a(k)和a(k+1)之間某點的值可能是a(k)+(a(k+1)-a(k))*m,m是[0,1]之間的一個常小數(shù),這就叫線性插值。如圖2所示:
圖2 線性插值圖
圖像的線性插值放大
圖像就是一個象素矩陣,可以表示為p(i,j),F(xiàn)在用p(i,j)表示原圖像中的某個點,ps(i,j)表示放大后的圖像的某個點,放大過程如下:
首先計算需要插值的位置
新圖像的某個點ps(x,y) 的值為
ps(x,y) =p(m,n)
m =原圖像高×(x÷新圖像高)
n =原圖像寬×(y÷新圖像寬)
m,n 一般會是一個小數(shù),就是原圖像需要插值的位置
知道了插值位置接下來就要對原圖像進(jìn)行插值了,如圖3所示:
圖3 插值以后的圖
其中p(i,n) ,p(m,j) ,p(i+1,n) ,p(m,j+1) ,p(m,n) 就是用線性插值方法插進(jìn)去的,
p(i,n) =p(i,j) +(p(i,j+1) -p(i,j)) ×(n-j)
p(m,j) =p(i,j) +(p(i+1,j) -p(i,j)) ×(m-i)
p(i+1,n) =p(i+1,j) +(p(i+1,j+1) -p(i+1,j)) ×(n-j)
p(m,j+1) =p(i,j+1) +(p(i+1,j+1) -p(i,j+1)) ×(m-i)
p(m,n) =p(i,n) +(p(i+1,n) -p(i,n)) ×(m-i)
i =floor(m)
j =floor(n)
floor是向下取整
這樣放大圖像的每一個點的值ps(x,y)就全有了,把他寫到新圖像中就完成了圖像的線性插值放大。VC實現(xiàn)
我們用OpenCV(beta_5)庫來讀取圖像,然后手工插值放大。程序是MFC/DOC/VIEW結(jié)構(gòu)
首先接入OpenCV(beta_5)庫實驗源代碼見程序代碼。
理想放大效果如圖-所示,局部放大效果圖如5所示:
圖4 理想放大圖
圖5局部放大圖
3其他模塊實現(xiàn)原理
3.1LCD 顯示模塊
ADI的Blackfin ADSP-BF592開發(fā)平臺中的LCD 顯示屏兼容多種LCD,可采用5 寸256 色屏或8 寸16bit 真彩屏,同時預(yù)留一個24bit 接口。
3.2鍵盤模塊
ADI的Blackfin ADSP-BF592 開發(fā)平臺中的小鍵盤使用ATMEGA8 單片機(jī)控制2 個PS2 接口和板載17 鍵小鍵盤,兩個PS2可接PC 鍵盤和鼠標(biāo)。
|