

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于TI VC5416的黑白圖像采集之縮放實現(xiàn)</p><p> 摘 要 本課程設計主要是設計一個基于TIVC5416的黑白圖像采集之縮放實現(xiàn),在TIVC5416 DSP芯片上完成對黑白圖像采集、縮放的編程,軟件編程主要采用模塊化的設計思想,把程序細化成易于實現(xiàn)的小模塊。編程的語言主要采用執(zhí)行效率高的匯編語言編寫。通過CCS3.0仿真平臺最終成功實現(xiàn)了黑白圖像的采集和縮放。通過最后的仿
2、真結果可知,基于TIVC5416的黑白圖像采集之縮放實現(xiàn)已初步達到了設計指標,達到了預期設計效果。</p><p> 關鍵詞:TIVC5416,黑白圖像采集,縮放,匯編語言,CCS仿真</p><p> Based on TI VC5416 black and white image acquisition of scaling realized</p><p>
3、; Abstract:This course is designed to design a black and white image acquisition based on TIVC5416 realize the scale, TIVC5416 DSP chip in to black and white image acquisition, complete with zoom programming, software p
4、rogramming mainly uses the modular design thought, the program into easy to realize the little refinement module. Programming language mainly adopts high efficiency of the assembly language. Through the CCS3.0 simulation
5、 platform ultimately successful realized the black and white im</p><p> Key words: TIVC5416, black and white image acquisition, zoom, assembly language, CCS simulation</p><p><b> 1引 言<
6、;/b></p><p> DSP[1](digital singnal processor)是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,將其轉換為0或1的數(shù)字信號,再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)翻譯回模擬數(shù)據(jù)或實際環(huán)境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數(shù)以千萬條復雜指令程序,遠遠超過了通用微處理器,是數(shù)字化電子世界中
7、日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。DSP既是Digital Signal Processing的縮寫(數(shù)字信號處理的理論和方法)也是Digital Signal Processor(用于數(shù)字信號處理的可編程微處理器)的縮寫。我們所說的DSP技術,則一般指將通用的或專用的DSP處理器用于完成數(shù)字信號處理的方法和技術。</p><p> 1.1 課程設計的目的</p
8、><p> 科技的進步帶動了DSP技術的發(fā)展,現(xiàn)代控制設備的性能和結構發(fā)生了巨大的變化,我們已經進入了高速發(fā)展的信息時代,DSP技術也成為當今科技的主流之一,被廣泛地應用于生產的各個領域。對于本次課程設計,其目的在于:</p><p> (1)算法原理與方法。對算法的原理進行詳細的闡述。</p><p> (2)實現(xiàn)平臺介紹。TI VC5416[2]及實驗板的簡單
9、描述。</p><p> (3)硬件資源的設置。對外設及內核的配置。</p><p> (4)算法實現(xiàn)及流程。給出算法的流程圖及核心代碼。</p><p> (5)軟仿真、調試及結果。在CCS3.3[3]開發(fā)環(huán)境下進行軟仿真,調試,給出截圖并簡單敘述過程。</p><p> (6)畫出系統(tǒng)原理圖。采用Protel、Or CAD等原理圖
10、軟件。</p><p> 1.2 課程設計的要求</p><p> 本課程設計主要要注意以下幾方面的內容:</p><p> (1)綜合運用DSP基本技術和信號系統(tǒng)設計方法設計本系統(tǒng)。</p><p> (2)學會文獻檢索的基本方法和綜合運用文獻的能力。</p><p> (3)通過課程設計培養(yǎng)嚴謹?shù)目茖W態(tài)度
11、,認真的工作作風和團隊協(xié)作精神。</p><p><b> 1.3設計平臺</b></p><p> CCS集成開發(fā)環(huán)境。CCS(Code Composer Studio)是TI開發(fā)的一個完整的DSP集成開發(fā)環(huán)境,也是目前使用最為廣泛的DSP開發(fā)軟件之一?,F(xiàn)在,所有的TI DSP都可以使用該軟件工具來進行開發(fā)。在CCS中,不僅集成了常規(guī)的開發(fā)工具,如源程序編輯器
12、、代碼生成工具(編譯、連接器)及調試環(huán)境,還提供了DSP/BIOSTM開發(fā)工具。DSP/BIOSTM是一個簡易的嵌入式操作系統(tǒng),它大大方便了用戶編寫多任務應用程序。使用DSP/BIOSTM后,還能增強對代碼執(zhí)行效率的監(jiān)控。目前,CCS已經成為DSP開發(fā)過程中不可缺少的工具。</p><p><b> 2 基本原理</b></p><p> 2.1 DSP系統(tǒng)簡介
13、</p><p> 數(shù)字信號處理[4]的目的是對真實世界的連續(xù)模擬信號進行測量或濾波。因此在進行數(shù)字信號處理之前需要將信號從模擬域轉換到數(shù)字域,這通常通過A/D轉換器實現(xiàn)。而數(shù)字信號處理的輸出經常也要變換到模擬域,這是通過D/A轉換器實現(xiàn)的。 </p><p> 數(shù)字信號處理的算法需要利用計算機或專用處理設備如數(shù)字信號處理器(DSP)和專用集成電路(ASIC)等。數(shù)字信號處理技術及
14、設備具有靈活、精確、抗干擾強、設備尺寸小、造價低、速度快等突出優(yōu)點,這些都是模擬信號處理技術與設備所無法比擬的。 </p><p> 數(shù)字信號處理的核心算法是離散傅立葉變換(DFT),是DFT使信號在數(shù)字域和頻域都實現(xiàn)了離散化,從而可以用通用計算機處理離散信號。而使數(shù)字信號處理從理論走向實用的是快速傅立葉變換(FFT),F(xiàn)FT的出現(xiàn)大大減少了DFT的運算量,使實時的數(shù)字信號處理成為可能、極大促進了該學科的發(fā)展
15、。 </p><p> 世界上三大DSP芯片生產商是德克薩斯儀器公司(TI) 、模擬器件公司(ADI) 和摩托羅拉公司(Motorola)。這三家公司幾乎壟斷了通用DSP芯片市場。 </p><p> 圖像信號處理的應用已滲透到各個科學技術領域。譬如,圖像處理技術可用于研究粒子的運動軌跡、生物細胞的結構、地貌的狀態(tài)、氣象云圖的分析、宇宙星體的構成等。在圖像處理的實際應用中,獲得較大成
16、果的有遙感圖像處理技術、斷層成像技術、計算機視覺技術和景物分析技術等。根據(jù)圖像信號處理的應用特點,處理技術大體可分為圖像增強、恢復、分割、識別、編碼和重建等幾個方面。這些處理技術各具特點,且正在迅速發(fā)展中。 </p><p> 2.2 TI VC5416芯片簡介</p><p> 圖像處理用TI公司的VC5416是TI公司的一款16bit定點高性能DSP芯片,是VC54XX系列中
17、的第三代芯片。主要特征有:速率最高達160MIPS;3條16bit的數(shù)據(jù)存儲器總線和1條程序存儲器總線;1個40bit桶形移位器和2個40bit累加器;1個17×17乘法器和1個40bit專用加法器;最大8M×16bit的擴展尋址空間,內置128M×16bit的RAM和16K×16bit的ROM個多通道緩沖串口;配有PCM3002,可對語音進行A/D和D/A轉換。由于VC5416功耗低,性能高,其
18、分開的數(shù)據(jù)和指令空間使該芯片具有高度的并行操作能力,在單周期內允許指令和數(shù)據(jù)同時存取,再加上高度優(yōu)化的指令集,使得該芯片具有很高的運算速度并且該芯片本身具有豐富的片內存儲器資源和多種片上外設,因此在工程界得到了廣泛應用。</p><p> 2.3 CCS軟件簡介</p><p> 該課程設計是基于CCS開發(fā)環(huán)境的。CCS是TI公司推出的為開發(fā)TMS320系列DSP軟件的集成開發(fā)環(huán)境,是
19、目前使用最為廣泛的DSP開發(fā)軟件之一。它采用Windows風格界面,提供了環(huán)境配置、源文件編譯、編譯連接、程序調試、跟蹤分析等環(huán)節(jié),并把軟、硬件開發(fā)工具集成在一起,使程序的編寫、匯編、程序的軟硬件仿真和調試等開發(fā)工作在統(tǒng)一的環(huán)境中進行,從而加速軟件開發(fā)進程。本課程設計通過CCS軟件平臺上應用執(zhí)行效率高的匯編語言來實現(xiàn)黑白圖像采集及縮放實現(xiàn)。</p><p> 一個典型的CCS集成開發(fā)環(huán)境用戶界面如圖2.1所示。
20、</p><p> 圖2.1 CCS用戶界面</p><p> 由上圖知整個用戶界面由主菜單、工具欄、工程窗口、源程序編輯調試窗口、輸出窗口等組成。工程窗口用來組織用戶將若干程序構成一個項目,用戶可以從工程列表中選擇需要編輯和調試的特定程序,可以在工程中添加文件。在源程序編輯窗口中用戶可以編輯程序,又可以設置斷點、探針調試程序。輸出窗口顯示編譯信息、程序執(zhí)行結果。</p>
21、<p> CCS主菜單中共有12項,如圖2.2所示,各項功能見表2-1。</p><p> 圖2.2 CCS主菜單</p><p> 表2-1 主菜單各項功能簡介</p><p> 常用工具欄由CCS的一些常用命令組成,有6個工具欄,分別是: Standard Toolbar(標準工具條)、GEL Toolbar(GEL工具條)、Project
22、Toolbar(工程工具條)、Debug Toolbar(調試工具條)、Edit Toolbar(編輯工具條)和Plug-in Toolbar(插件程序工具條)。這6個工具欄可在View菜單下找到,如圖2.3所示,并可選擇是否顯示該工具欄。</p><p> 圖2.3 View 菜單</p><p> 2.4 黑白圖像采集實現(xiàn)原理</p><p> 在計算機圖
23、像處理中,圖像縮放(image scaling)是指對數(shù)字圖像的大小進行調整的過程。圖像縮放是一種非平凡的過程,需要在處理效率以及結果的平滑度(smoothness)和清晰度(sharpness)上做一個權衡。當一個圖像的大小增加之后,組成圖像的像素的可見度將會變得更高,從而使得圖像表現(xiàn)得“軟”。相反地,縮小一個圖像將會增強它的平滑度和清晰度。 </p><p> 壓縮卡的圖像采集是由VC5416直接完成的。初
24、始化結束后,VC5416按缺省模式或主機命令的要求確定圖像的大小和采集速率等參數(shù),然后根據(jù)奇、偶場信號和復合同步脈沖信號來采集圖像數(shù)據(jù)。</p><p> 采集流程可分為以下幾個步驟:</p><p><b> ?、俚却龍鲩_始。</b></p><p> ?、诋攬鲩_始信號到來時,VC5416進入場處理子程序,開放行中斷做好采集一場數(shù)據(jù)的準備。
25、根據(jù)奇、偶場信號可以決定是采集奇場圖像還是采集偶場圖像。</p><p> ?、郛斨貜屯叫盘柕絹頃r,VC5416進入中斷服務子程序,并將圖像數(shù)據(jù)存入擴展的數(shù)據(jù)存儲器中。當一場或一幀圖像各行數(shù)據(jù)都采集完畢后,關閉中斷。</p><p> 基于TIVC5416的黑白圖像采集之縮放實現(xiàn)中,DSP接收到場開始信號后進入場處理子程序中。在場處理子程序中,先確定將要采集的圖像的大小并設置采集、編碼
26、及發(fā)送過程中要使用的參數(shù),然后打開行采集中斷INT0,延時一定數(shù)目的行周期后退出場處理子程序,進入圖像采集階段。采集中斷要完成圖像采集和其它一些任務。在每行圖像采集之間應根據(jù)圖像大小延時一段時間,以保證采集到的圖像位于畫面的中心。采集圖像時,每隔140ns讀取一個A/D轉換數(shù)據(jù),存入幀緩沖器。由于讀取A/D轉換結果與寫幀緩沖器只用了80ns,因此可以先將圖像數(shù)據(jù)減去128,再存入幀存儲器,這樣就進行了JPEG編碼時就不要執(zhí)行減128操作
27、了,節(jié)約了時間。</p><p><b> 3 設計步驟</b></p><p><b> 3.1程序流程圖</b></p><p> 圖像可以看作由無數(shù)點(像素)組成,這些點與x軸的每一個角度值相對應,可以利用DSP處理器處理大量重復計算的優(yōu)勢來計算x軸每一點對應的y的值(在x軸取N個點進行逼近)。程序流程圖如圖3
28、.1所示。</p><p> 3.2 具體實現(xiàn)過程</p><p> CCS是一個開放的環(huán)境,可以通過設置不同的驅動程序完成對不同環(huán)境的支持。CCS setup 配置程序就是用來定義DSP芯片和目標板類型的。在第一次使用CCS之前必須首先運行CCS setup 配置程序。在以后的使用中,若想改變CCS應用平臺的類型,可以再次運行該配置程序來改變設置。CCS軟件集成了TI公司的Simul
29、ator和Emulatord的驅動程序,用戶可以直接用TI的仿真器進行開發(fā)測試。其配置過程如下,雙擊桌面上的Setup CCStudio圖標,彈出如圖3.2所示的對話框。</p><p> 圖3.2 CCS配置對話框</p><p> 從Family下拉菜單中選擇C54XX,Platform下拉菜單選擇xds510 emulator,從該對話框中選擇C5416 Device Simul
30、ator選項,然后單擊Add按鈕,如圖3.3所示。</p><p> 圖3.3用戶平臺類型</p><p> 該對話框中的Family欄用于設置DSP類型、平臺類型、是否進行內存映射等。在配置對話框完成后,單擊Add按鈕保存設置即完成了配置。完成配置后即可打開CCS仿真軟件進行設計。首先創(chuàng)建源文件。</p><p> 選擇File →New →Source F
31、ile 命令,編寫源代碼(見附錄一)image.asm。</p><p> (2)創(chuàng)建黑白圖像采集的鏈接命令文件image.cmd(見附錄二)。</p><p> 其次是創(chuàng)建工程文件。</p><p> ?。?) 打開CCS,點擊Project-->New,創(chuàng)建一個新工程,其中工程名及路徑如圖3.4所示。</p><p> 圖3.
32、4 創(chuàng)建一個新工程</p><p> 點擊完成即可完成工程創(chuàng)建。</p><p> 右鍵點擊Projects,選擇Add Files to project,添加工程所需文件。如圖3.5所示</p><p> 圖3.5 添加工程文件</p><p> 在彈出的對話框中的下拉菜單中分別選擇image.asm和image.cmd點擊打開,即
33、可添加源程序到工程中,在Projects窗口中可見兩個源文件都已添加進工程。如圖3.6所示。</p><p> 圖3.6 已添加源文件窗口</p><p> 然后是設置編譯與連接選項,點擊Projects,選擇Build Options,在彈出的對話框中設置相應的編譯參數(shù),一般情況下,按默認值就可以;如圖3.7所示。</p><p> 圖3.7 編譯環(huán)境設置&
34、lt;/p><p> 同時在彈出的對話框中選擇連接的參數(shù)設置,設置輸出文件名,堆棧的大小以及初始化的方式。如圖3.8所示。 </p><p> 圖3.8 編譯環(huán)境設置</p><p> 最后是工程編譯與調試,點擊Projects→ Rebuild all,對工程進行編譯,如正確則生成.out文件;若是修改程序,可以使用Project → Bu
35、ild 命令,進行編譯連接,它只對修改部分做編譯連接工作,可節(jié)省編譯與連接的時間。編譯通過生成.out 文件。點擊File → load program,在彈出的對話框中載入debug 文件夾下的.out 可執(zhí)行文件,裝載完畢。</p><p><b> 4 仿真結果</b></p><p> 假設原圖像如下圖4.1所示: </p><p>
36、;<b> 圖4.1原圖像</b></p><p> 將該圖像放大兩倍,可以有很多種算法,最簡單的方法為最近領域插值,即將每一個原像素原封不動地復制映射到擴展后對應四個像素中。如圖4.2所示。 </p><p> 圖4.2放大兩倍的圖像</p><p> 這種方法在放大圖像的同時保留了所有的原圖像的所有信息,但是會產生鋸齒現(xiàn)象。 <
37、;/p><p> 雙線性插值的效果對于放大的圖像而言較最近領域插值來得平滑,但是卻使得圖像變得模糊而且仍然會有一部分鋸齒現(xiàn)象。如圖4.3所示。 </p><p> 圖4.3雙線性插值法放大的圖像</p><p> 雙三次插值更好比雙線性插值更好。如圖4.4所示。 </p><p> 圖4.4雙三次插值法放大的圖像</p>&
38、lt;p> 對于低分辨率或顏色很少的(通常是從2到256色)圖像的放大問題,效果最好的算法是hq2x算法或類似的縮放算法。這些算法將會產生銳邊并保留大量的細節(jié),其效果圖4.5所示。</p><p> 圖4.5hq2x算法放大的圖像</p><p> 對于照片(以及有許多色階的光柵圖像)的縮放算法可以參看一種被稱為超采樣(supersampling)的反鋸齒算法。如圖4.6所示。
39、 </p><p> 圖4.6 縮放前后的圖像</p><p> 5 出現(xiàn)的問題及解決方法</p><p> (1)編寫相關程序中部分代碼出現(xiàn)問題無法運行,對CCS仿真軟件也不大熟悉,通過查看原理及相關資料,了解了黑白圖像的采集原理和CCS軟件的操作說明書,從而正確編寫出了設計程序并運行無錯。</p><p> (2)理論驗證時沒有徹
40、底搞清楚原理,黑白圖像采集過程中出現(xiàn)了錯誤,導致程序運行結果與理論驗證結果不符。在查看相關書籍,同學和老師的幫助下,最終徹底弄清楚了原理,得到了所要的圖像。</p><p> (3)在查找相關資料時不懂取舍,導致查了很多無關的資料。解決方法是首先弄清楚黑白圖像采集的相關原理和課程設計的要求。</p><p> ?。?)在寫論文的過程中也出現(xiàn)了不少的問題,如Visio 2003不知道使用,
41、原理圖的繪制比較麻煩,在同學的幫助下,通過多次練習,終于熟練掌握了Visio畫圖。</p><p><b> 6 結束語</b></p><p> 經過四周的摸索以及老師同學的幫助,經過對課程設計的多次修改,我終于順利按時完成了本次課程設計任務。在這次課程設計中,我遇到了一些課堂中從未遇到的問題,通過網絡查找和同學交流,大大促進了設計進程。并在過程中進一步提高了自
42、身的創(chuàng)作、創(chuàng)新水平,扎實基礎,擴展所學。這次課程設計不僅讓我更加深刻的了解了黑白圖像采集之縮放實現(xiàn)的原理,也更加深刻理解了它在通信系統(tǒng)中的重要作用。</p><p> 在整個設計過程中,對我來說收獲最大的是那些分析和解決問題的方法與能力。從分析任務書,到如何找到設計原理,以及采用什么平臺來實現(xiàn)原理都是環(huán)環(huán)相扣的一個過程,哪一個步驟出現(xiàn)了問題都會給最終的設計帶來麻煩。</p><p>
43、我的理論知識和實際應用脫節(jié),它需要我將學過的相關知識都系統(tǒng)地聯(lián)系起來,對學過的理論進行深入的理解,這就為我們以后進行社會生產打下了基礎。通過本次課程設計,我真切的體會到了理論與實際工程的聯(lián)系,架起這座橋梁的就是我們的系統(tǒng)仿真。也正是因為有了系統(tǒng)仿真這個模塊才讓我們的理論在不至于和實際工程相差很遠,也讓我們在學校里就可以驗證理論知識,說到這里我不得不感到電子世界的奇妙。對于我們在校大學生來說很難遇到很好的機會可以把理論運用到真正的實際工程
44、中去,因為我們沒有經驗,也因為實際工程的嚴謹,不存在嘗試的可能性,不允許有任何差錯。要完整的做好一個設計需要的不僅是懂得理論就可以了。</p><p> 回顧這次課程設計,感慨頗多,在短短的四周時間里,我不僅鞏固了以前學過的知識,還學到了很多新知識。這次課程設計使我深刻認識到理論和實踐相結合是很重要的,只有理論知識是遠遠不夠的,只有把理論和實踐結合起來,從實踐中得出結論,才是真正自己掌握好的知識,才能提高自己的
45、實際動手能力和獨立思考解決問題的能力。同時,完成課程設計的過程中我也發(fā)現(xiàn)了自己的很多不足。比如,有時候自己遇到問題做不出來就開始浮躁。通過此次課程設計我知道了做科學需要嚴謹?shù)膽B(tài)度和廣褒的知識,為我以后更好的學習指明了一個努力的方向。我會不斷的努力學習,珍惜每次機會,把專業(yè)學好,鍛煉自己獨立思考問題的能力,同時培養(yǎng)自己理論聯(lián)系實際及動手的能力。</p><p> 最后,這個設計之所以能按時完成離不開老師的指導和同
46、學的幫助,在此對他們表示衷心的感謝,也感謝學校給了我這次鍛煉自己和認識自己知識水平的好機會。</p><p><b> 參考文獻</b></p><p> [1] 支長義等.DSP原理及開發(fā)應用.北京:北京航空航天大學出版社,2006.</p><p> [2] 清源科技.TMS320C54xDSP硬件開發(fā)教程.北京:機械工業(yè)出版社,20
47、03.</p><p> [3] 劉益成.TMS320C54xDSP應用程序設計與開發(fā).北京:北京航空航天大學出版社,2002.</p><p> [4] 趙紅怡.DSP技術與應用實例(第二版).北京:電子工業(yè)出版社,2008.</p><p><b> 附件</b></p><p> 附件一:黑白圖像采集源程序
48、</p><p> //程序名稱:image.asm</p><p> //程序功能:實現(xiàn)黑白圖像采集的功能</p><p> //程序作者:唐勝艷</p><p> //最后修改日期:2011-11-4</p><p> /*圖像句柄的聲明*/</p><p> VP_Handle
49、 vpHchannel0;</p><p> VP_Handle vpHchannel1;</p><p> VP_Handle vpHchannel2;</p><p> /*確定圖像的參數(shù)*/</p><p> int numPixels = 720;//每行720個像素</p><p> int num
50、Lines = 576;//每幀576行(PAL)</p><p> /*采集與顯示緩沖區(qū)的首址*/</p><p> Uint32 capYbuffer = 0x80000000;</p><p> Uint32 capCbbuffer = 0x800675c0;</p><p> Uint32 capCrbuffer = 0x8
51、009b0a0;</p><p> Uint32 disYbuffer = 0x80100000;</p><p> Uint32 disCbbuffer = 0x801675c0; </p><p> Uint32 disCrbuffer = 0x8019b0a0;</p><p> Uint32 tempYbuffer = 0x8
52、0200000; //臨時值</p><p> /*圖像格式標志*/</p><p> Uint8 NTSCorPAL = 0;</p><p> extern far void vectors();</p><p> extern volatile Uint32 capNewFrame;</p><p>
53、 extern volatile Uint32 disNewFrame;</p><p> void main()</p><p><b> {inti;</b></p><p> Uint8 addrI2C;</p><p> /*等待第一幀數(shù)據(jù)采集完成*/</p><p> wh
54、ile(capNewFrame == 0){}</p><p> /*將數(shù)據(jù)存入顯示緩沖區(qū),并清采集完成的標志*/</p><p> capNewFrame =0;</p><p> for(i=0;i<numLines;i++)</p><p><b> {</b></p><p>
55、; /*傳送臨時Y緩沖區(qū)*/</p><p> DAT_copy((void *)(capYbuffer + i * numPixels), </p><p> (void *)(tempYbuffer + i * numPixels), numPixels); </p><p><b> }</b></p>&l
56、t;p> /*畫邊框*/ </p><p> drawRectangle(); </p><p> for(i=0;i<0x33ae0;i++)</p><p> { *((Uint8 *)(disCrbuffer +i)) =0x80;</p><p> *((Uint8 *)(disCbbuffer +i))
57、=0x80;</p><p><b> }</b></p><p> for(i=0;i<numLines;i++)</p><p> {/*傳送Y緩沖區(qū)*/</p><p> DAT_copy((void *)(tempYbuffer + i * numPixels), (void *)(disYbuff
58、er + i * numPixels), numPixels);</p><p><b> }</b></p><p> /*啟動顯示模塊*/</p><p> bt656_display_start(vpHchannel1);</p><p> /*建立顯示的實時循環(huán)*/</p><p
59、><b> for(;;)</b></p><p> {/*當采集區(qū)的數(shù)據(jù)已經采集好,而顯示緩沖區(qū)的數(shù)據(jù)已空*/</p><p> if((capNewFrame == 1)&&(disNewFrame == 1))</p><p> {/*將數(shù)據(jù)裝入顯示緩沖區(qū),并清采集完成的標志*/</p><
60、;p> capNewFrame =0;</p><p> disNewFrame =0;</p><p> for(i=0;i<numLines;i++)</p><p> {/*傳送臨時Y緩沖區(qū)*/</p><p> DAT_copy((void *)(capYbuffer + i * numPixels), (voi
61、d *)(tempYbuffer + i * numPixels),numPixels);</p><p><b> }</b></p><p> /*畫邊框*/ </p><p> drawRectangle(); </p><p> for(i=0;i<numLines;i++)</p
62、><p> {/*傳送Y緩沖區(qū)*/</p><p> DAT_copy((void *)(tempYbuffer + i * numPixels), (void *)(disYbuffer + i * numPixels),numPixels);</p><p><b> }</b></p><p><b
63、> }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*畫矩形邊框函數(shù)的定義*/</p><p> void drawRectangle()</p><p><b> {int
64、i,j;</b></p><p><b> /*畫上邊*/</b></p><p><b> //奇數(shù)行</b></p><p> for(i=intALines-4;i<intALines;i++) //邊框長度</p><p> { for(j=intAPixels-
65、6;j<intDPixels+6;j++) //奇數(shù)行邊框寬度</p><p> {*(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b
66、> //偶數(shù)行</b></p><p> for(i=numLines/2+intALines-4;i<numLines/2+intALines;i++) //邊框長度</p><p> {for(j=intAPixels-6;j<intDPixels+6;j++) //偶數(shù)行邊框寬度</p><p> {*(Uint8 *)
67、(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b> /*畫下邊*/</b></p><p><b> //奇數(shù)行</b>
68、;</p><p> for(i=intDLines;i<intDLines+4;i++)//邊框長度</p><p> {for(j=intAPixels-6;j<intDPixels+6;j++) //奇數(shù)行邊框寬度</p><p> { *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;<
69、/p><p><b> }</b></p><p><b> }</b></p><p><b> //偶數(shù)行</b></p><p> for(i=numLines/2+intDLines;i<numLines/2+intDLines+4;i++)//邊框長度<
70、;/p><p> {for(j=intAPixels-6;j<intDPixels+6;j++) //偶數(shù)行邊框寬度</p><p> {*(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b>
71、}</b></p><p><b> /*畫左邊*/</b></p><p><b> //奇數(shù)行</b></p><p> for(i=intALines;i<intDLines;i++)//邊框長度</p><p> {for(j=intAPixels-6;j<
72、intAPixels;j++) //奇數(shù)行邊框寬度</p><p> { *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b> //偶
73、數(shù)行</b></p><p> for(i=numLines/2+intALines;i<numLines/2+intDLines;i++)//邊框長度</p><p> {for(j=intAPixels-6;j<intAPixels;j++) //偶數(shù)行邊框寬度</p><p> { *(Uint8 *)(tempYbuffer +
74、 i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b> /*畫右邊*/</b></p><p><b> //奇數(shù)行</b></p>&
75、lt;p> for(i=intALines;i<intDLines;i++)//邊框長度</p><p> {for(j=intDPixels;j<intDPixels+6;j++) //奇數(shù)行邊框寬度</p><p> {*(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p>&l
76、t;b> }</b></p><p><b> }</b></p><p><b> //偶數(shù)行</b></p><p> for(i=numLines/2+intALines;i<numLines/2+intDLines;i++)//邊框長度</p><p> {
77、 for(j=intDPixels;j<intDPixels+6;j++) //偶數(shù)行邊框寬度</p><p> { *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p>
78、<p><b> } </b></p><p> 附錄二:圖像縮放處理算法函數(shù)體程序</p><p> //程序名稱:image.cmd</p><p> //程序功能:實現(xiàn)圖像縮放的功能</p><p> //程序作者:唐勝艷</p><p> //最后修改日期:201
79、1-11-4</p><p> /*圖像縮放處理算法函數(shù)體程序*/</p><p> void zoom()</p><p><b> {</b></p><p> int i,j; //定義變量</p><p> int int CapX, int CapY; //定義橫縱
80、坐標</p><p> for (i=0;i<numLines;i++) //定義循環(huán)變量</p><p><b> {</b></p><p> for (j=0;j<numPixels;j++) //定義循環(huán)變量</p><p> { </p><p&
81、gt; intCapX = (int)(j/fYZoomRatio+0.5); //X軸的縮放計算</p><p> intCapY = (int)(i/fXZoomRatio+0.5); //Y軸的縮放計算</p><p> //判斷是否在原圖范圍內</p><p> if ((intCapX>=0) && (intCapX&
82、lt;numPixels)) </p><p> { if ((i<numLines/2) && (intCapY>=0) && (intCapY<numLines/2))</p><p><b> {</b></p><p><b> //傳送亮度信號</b>&
83、lt;/p><p> *(Uint8 *)(tempYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + intCapY*numPixels + intCapX); </p><p><b> }</b></p><p> else if ((i>=numLines/2) &
84、& (i<numLines) && (intCapY>=numLines/2) && (intCapY<numLines))</p><p><b> {</b></p><p><b> //傳送亮度信號</b></p><p> *(Uint8 *)(te
85、mpYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + intCapY*numPixels + intCapX); </p><p><b> }</b></p><p><b> else</b></p><p> {*(Uint8 *)(tempYbuffe
86、r + i*numPixels + j) = 0xFF;</p><p><b> } </b></p><p><b> } </b></p><p><b> else</b></p><p> {*(Uint8 *)(tempYbuffer + i*numPixe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- dsp課程設計-- 溫度采集與顯示系統(tǒng)設計
- 基于dsp的圖像處理-dsp課程設計
- dsp課程設計fft的dsp實現(xiàn)
- dsp課程設計報告--fft的dsp實現(xiàn)
- dsp課程設計報告-數(shù)據(jù)采集處理和控制系統(tǒng)設計
- dsp課程設計-無線電系統(tǒng)設計與實現(xiàn)
- dsp課程設計---基于dsp的bios模塊設計實現(xiàn)
- 溫度采集系統(tǒng)課程設計
- dsp課程設計-語音采集壓縮存儲與回放
- 通信系統(tǒng)課程設計
- 通信系統(tǒng)課程設計
- 通信原理課程設計--數(shù)字通信系統(tǒng)的設計與實現(xiàn)
- 利用dsp實現(xiàn)自適應濾波dsp課程設計
- 通信系統(tǒng)課程設計報告--現(xiàn)代通信系統(tǒng)之ngn軟交換實訓
- dsp課程設計報告--dsp芯片應用系統(tǒng)設計
- dsp最小系統(tǒng)課程設計
- 現(xiàn)代通信電路課程設計--模擬通信系統(tǒng)的設計與實現(xiàn)
- 通信原理課程設計--- 時分復用通信系統(tǒng)的設計與實現(xiàn)
- 課程設計報告--模擬通信系統(tǒng)的設計與實現(xiàn)
- 基于DSP和CPLD的圖像通信系統(tǒng)設計與實現(xiàn).pdf
評論
0/150
提交評論