• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于DSP的數(shù)字圖像處理實驗的探究

    2014-03-25 08:03:14魯億方藍金輝遲健男
    實驗技術與管理 2014年3期
    關鍵詞:代碼灰度邊緣

    魯億方, 藍金輝,遲健男

    (北京科技大學 自動化學院,北京 100083)

    隨著電子科學與計算機科學的發(fā)展與進步,數(shù)字圖像處理技術在各個領域應用越來越廣泛,日益成為教學熱點。數(shù)字圖像處理的內容包括:圖像變換 、圖像編碼 、圖像增強 、圖像恢復、圖像分割和圖像識別等。目前,數(shù)字信號處理器(digital signal processer,DSP)芯片在圖像處理領域應用得十分廣泛,因此將DSP實驗平臺引入“數(shù)字圖像處理”課堂,利用DSP進行數(shù)字圖像處理,讓學生自己設計圖像處理的算法,自己在DSP平臺上對比圖像處理效果,進而引導他們進行創(chuàng)新[1]。

    為了滿足學生的需要,本文介紹了以DM642為核心的DSP平臺,并以此為基礎進行一系列的數(shù)字圖像處理實驗,為學生以后的實驗課程學習進行了探索。

    在課堂大綱的指導下,針對學生所學的知識點、學生的實際情況,適時地選擇有代表性、難度適中的數(shù)字圖像處理實例作為學生的實驗項目,讓學生能夠獨立自主地進行設計、編程、調試,通過自己的實踐來發(fā)現(xiàn)問題、解決問題,在實踐過程中不斷學習。學生在實踐過程中既能在CCS環(huán)境實驗中加深掌握數(shù)字信號處理的基礎知識,又能培養(yǎng)學生調試程序的能力。為了配合理論教學,實驗內容安排仍從認識性和驗證性入手,逐步增加設計性和工程應用性內容,使學生在掌握數(shù)字信號處理基本理論和方法的基礎上,可以更多地了解和掌握數(shù)字信號處理的仿真、開發(fā)、實現(xiàn)工具和方法,達到訓練實驗技能和積累工程實際應用經驗的目的[2-4]。

    1 DSP芯片介紹

    1.1 DSP介紹

    DSP是針對數(shù)字信號處理需要而設計的一種可編程的超高速單片計算機系統(tǒng),是現(xiàn)代電子技術、計算機技術和信號處理技術相結合的產物。在過去的20多年里,DSP芯片的性能得到了很大的改善,軟件和開發(fā)工具也得到了相應的發(fā)展,且價格大幅下降,采用DSP器件來實現(xiàn)數(shù)字信號處理系統(tǒng)已成了當前的發(fā)展趨勢,其在電子信息、通信、軟件無線電、自動控制、儀器儀表、信息家電等高科技領域獲得了越來越廣泛的應用。在數(shù)字圖像處理領域,DSP也扮演著不可替代的重要角色。為了應對人才市場對DSP相關人才日益增長的需求,越來越多的工科學校開始重視和大力發(fā)展DSP教學,因此研究DSP應用教學有著重要的現(xiàn)實意義[5-6]。

    1.2 TMS320DM642介紹

    TMS320DM642(以下簡稱為DM642)是TI公司2003年推出的一款針對多媒體處理領域應用的高速DSP處理器,基于C64X核心架構,集成了豐富的外圍設備和接口,最高主頻達到了720 MHz,并行處理指令的能力可達每個指令周期處理8條32位指令,因此最大指令處理速度為5760MIPS。超長指令字(VLIW)的DM642核具64個32位字長的通用寄存器,8個獨立的功能單元(L1,L2,S1,S2,D1;D2,M1和M2),2個寄存器文件(A和B)和2個數(shù)據(jù)交叉通道(1X和2X)。這些硬件資源對等分配為2個相同的組,每組占用一個數(shù)據(jù)交叉通道。DM642每周期能夠提供4個16位MAC,兩級緩存:一級程序緩存L1P是一個128 Kbit的直接映射緩存,另一級數(shù)據(jù)緩存L1D是一個128 Kbit的雙路結合設置緩存。L2緩存器能被配置成映射存儲器、高速緩存或者兩者結合。DM642的一個很重要的外設就是VideoPort,它可以很方便地讀寫外部的視頻解碼器,TI公司提供了針對DM642的視頻解碼器的驅動程序,用戶只需開發(fā)應用程序即可,為系統(tǒng)的開發(fā)帶來極大的方便。DM642的結構框圖如圖1 所示[7]。

    圖1 DM642結構圖

    DM642屬于TI公司的C64x系列DSP。DM642 與其他芯片比較,主要有以下幾方面的優(yōu)勢:第一,它具有通用性,可以實現(xiàn)很多功能;第二,用戶開發(fā)自由度更大,支持多種個性化開發(fā),可以滿足市場不斷提出的新的要求,在第一時間提升產品性能,增強產品的競爭能力;第三,處理能力強,可以在一個DM642上同時實現(xiàn)多路音視頻信號的壓縮處理,同時為了及時滿足應用的需要,還提供了很多視頻專用功能,比如視頻濾波、高分辨顯示輸出功能等,使進一步大幅度降低產品的成本成為可能(這一點很重要);第四,開發(fā)周期短,實現(xiàn)快速技術更新和產品換代;第五,芯片功耗低,為提高產品的穩(wěn)定性提供可靠保障。因此我們選擇DM642作為核心搭建數(shù)字圖像處理實驗平臺,來進行接下來的數(shù)字圖像處理實驗探索[8]。

    2 實驗平臺硬件構成

    實驗平臺采用高性能的DSP芯片DM642作為核心處理器,擴展了SDRAM和Flash存儲器,分別用于程序的運行和存儲,通過視頻編解碼器完成視頻的采集和輸出[9]。集成了CCD、TV、JTAG仿真接口等外設,充分利用了片上資源。系統(tǒng)既可以脫機工作,也可以通過接口進行二次開發(fā)。系統(tǒng)硬件組成如圖2所示。

    圖2 系統(tǒng)硬件組成結構圖

    3 CCS集成開發(fā)環(huán)境及開發(fā)流程

    3.1 CCS集成開發(fā)環(huán)境

    軟件的質量可以從代碼長度、執(zhí)行速度以及代碼是否可重復利用等方面進行評價,而開發(fā)工具的好壞對代碼的長度、代碼的執(zhí)行速度起著關鍵的作用。另外,開發(fā)工具的功能是否齊全、使用是否方便,在很大程度上影響DSP系統(tǒng)的開發(fā)周期以及產品的上市時間。為此1999年,TI公司針對TMS320C6000系列的數(shù)字信號處理器,推出了一種CCS(code composer studio),它是一個集成性的DSP軟件開發(fā)工具。CCS的出現(xiàn)是DSP開發(fā)軟件的一次革命性的變化。

    CCS 主要包含如下功能:

    (1) 集成了可直接編寫 C、匯編、.H 文件、.cmd 文件等的可視化代碼編輯界面;

    (2) 集成了包括匯編器、優(yōu)化 C 編譯器、連接器等的代碼生成工具;

    (3) 集成了各種調試工具,如裝入執(zhí)行代碼后,即可查看寄存器、存儲器、反匯編、變量窗口等的相應信息,還支持 C 源代碼級調試;

    (4) 斷點工具包括硬件斷點、數(shù)據(jù)空間讀/寫斷點,條件斷點等;

    (5) 集成了可繪制眼圖、星座圖、時域/頻域波形、圖像等的數(shù)據(jù)圖形顯示工具,并可自動刷新;

    (6) 支持 RTDX(real time data exchange)技術,實現(xiàn)在不中斷 DSP 系統(tǒng)運行的情況下與其他應用程序的數(shù)據(jù)交換;

    (7) 提供 DSP/BIOS 工具,增強對代碼的實時分析能力、調度程序執(zhí)行的優(yōu)先級、方便管理和使用系統(tǒng)資源,減少了開發(fā)人員對硬件資源熟悉程度的依賴[10]。

    3.2 CCS開發(fā)工具

    代碼生成工具奠定了CCS所提供的開發(fā)環(huán)境的基礎,CCS使用到的主要開發(fā)工具如下:

    (1) 匯編優(yōu)化器。匯編優(yōu)化器允許用戶在寫線性匯編代碼時不用考慮流水線結構和寄存器分配。匯編優(yōu)化器的輸入是線形匯編代碼,這種匯編代碼沒有進行寄存器分配,也不考慮指令流水延遲。匯編優(yōu)化器分配寄存器利用循環(huán)優(yōu)化技術把線性匯編轉化為高度并行和軟件流水的匯編代碼。

    (2) C/C++編譯器。C/C++編譯器的輸入為C/C++源代碼,輸出為 C6000 匯編源代碼。編譯器、優(yōu)化器和交疊工具是 C/C++編譯器的組成部分,編譯器使用戶能一步完成編譯、匯編和連接。如果輸入文件中有.sa文件,編譯器執(zhí)行匯編優(yōu)化器。優(yōu)化器調整和修改代碼以提高了C程序的效率。交疊工具把C/C++語句和對應的匯編語句交疊列出。

    (3) 匯編器。匯編器把匯編源文件翻譯為機器語言目標文件。

    (4) 連接器。連接器連接目標文件,生成一個可執(zhí)行的目標文件。由于連接器生成可執(zhí)行目標文件,它要完成地址的重分配和解析外部引用,連接器的輸入是可重分配地址的目標文件和目標庫。

    (5) 文檔管理器。文檔管理器允許用戶把一組文件放入一個稱為庫的文檔文件內。此外,文檔管理器允許用戶刪除、替換、提取或添加庫中的成員。

    (6) 建庫工具。用戶可以利用建庫工具生成自己的運行時支持庫。

    (7) 十六進制轉換工具。十六進制轉換工具把通用目標文件格式(COFF)目標文件轉化為 TI-Tagged、ASCII-hex、Intel、Mortorala-S 和 Tektronix 等目標文件格式,然后用戶就可以把轉換后的文件燒寫到 Flash 中,實現(xiàn) Flash 自舉。

    本系統(tǒng)使用了CCS集成開發(fā)環(huán)境,程序的編寫、編譯、鏈接以及下載調試都在同窗口下完成。程序調試完成后,生成COFF 格式的可執(zhí)行代碼文件(*.out),通過專門的燒寫程序可將文件寫入Flash中固化;然后通過DSP獨立自主的對圖像進行處理;最后將處理過后的圖片輸出到顯示屏。

    4 數(shù)字圖像處理實驗

    本節(jié)針對DSP平臺做一組數(shù)字圖像處理實驗,并對實驗結果給與分析。首先連接好DSP數(shù)字圖像處理平臺與上位機及顯示液晶屏;然后打開DSP數(shù)字圖像處理平臺的開關,給其上電并開啟液晶屏;設置CCS在硬件仿真下運行,啟動CCS,所有的算法,并通過CCS環(huán)境下進行編譯、連接、下載并運行程序,然后在液晶顯示屏觀察運行結果[11]。

    4.1 灰度圖顯示

    數(shù)字圖像在計算機上以位圖的形式存在,位圖是一個矩形點陣,其中每個點稱為一個像素,像素是數(shù)字圖像中的基本單位。一幅圖像的大小是由n個明暗度不等的像素組成,數(shù)字圖像中各個像素所具有的明暗程度是由灰度值所標志,灰度是描述灰度圖像內容的最直接的視覺特征,它指黑白圖像中點的顏色深度,范圍一般從0~255,白色為255,黑色為0,故黑白圖片也稱灰度圖像?;叶葓D像矩陣元素的取值通常為[0,255],因此其數(shù)據(jù)類型一般為8位無符號整數(shù)(int8),這就是人們通常所說的256級灰度。0表示純黑色,255表示純白色,中間的數(shù)字從小到大表示由黑到白的過渡色,即可以表示不同的灰度等級。

    在CCS中編譯取灰度圖程序,部分程序如下:

    void gray()

    {

    int i,j;

    for(i=intALines;i

    {

    for(j=intAPixels/2;j

    {

    *(Uint8 *)(tempCbbuffer +i * (numPixels >> 1) + j) = 0x80;

    *(Uint8 *)(tempCrbuffer + i * (numPixels >> 1) + j) = 0x80;

    } } }

    圖3即所得灰度圖。

    圖3 灰度圖顯示實驗結果

    4.2 二值化實驗

    一幅圖像包括目標物體、背景,還有噪聲,要想從多值的數(shù)字圖像中直接提取出目標物體,最常用的方法就是設定一個閾值T,用T將圖像的數(shù)據(jù)分成兩部分:大于T的像素群和小于T的像素群。這是研究灰度變換的最特殊的方法,稱為圖像的二值化。圖像的二值化,就是將圖像上的像素點的灰度值設置為0或255,也就是將整個圖像呈現(xiàn)出明顯的只有黑和白的視覺效果。

    于是在得到灰度圖像的基礎上繼續(xù)利用DSP平臺計算并獲取其原始圖像的二值化圖像。部分程序如下:

    void threshold()

    {

    int i,j;

    for(i=intALines;i

    {

    for(j=intAPixels;j

    {

    *(Uint8 *)(tempYbuffer + i*numPixels + j) =

    *(Uint8 *)(tempYbuffer + i*numPixels + j)

    }

    }

    }

    在經過DSP平臺處理之后所得的圖像如圖4所示。

    圖4 二值化實驗結果

    4.3 邊緣檢測實驗

    圖像的邊緣是圖像的最基本特征。所謂邊緣(或邊沿)是指其周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。邊緣廣泛存在于物體與背景之間、物體與物體之間、基元與基元之間。因此,它是圖像分割所依賴的重要特征。物體的邊緣是由灰度不連續(xù)性所反映的。經典的邊緣提取方法是考察圖像的每個像素在某個鄰域內灰度的變化,利用邊緣臨近一階或二階方向導數(shù)變化規(guī)律,用簡單的方法檢測邊緣,這種方法稱為邊緣檢測局部算子法。

    在本次實驗里,使用Sobel邊緣算子來進行邊緣檢測。Sobel邊緣算子:圖5所示的2個卷積核形成了sobel邊緣算子,圖像中的每個點都用這2個核做卷積,一個核對通常的垂直邊緣相應最大,而另一個對水平邊緣相應最大,2個卷積的最大值作為該點的輸出位。運算結果是一幅邊緣幅度圖像[12]。

    圖5 Sobel邊緣檢測算子

    部分程序如下:

    /*Sobel邊緣檢測處理*/

    void sobelEdge()

    {

    int i,j;

    int d1,d2,intTemp;

    for(i=intALines;i

    {

    for(j=intAPixels;j

    {

    d1 = (*(Uint8 *)(tempSrcYbuffer + (numLines/2+i)*numPixels + (j-1))) +

    2*(*(Uint8 *)(tempSrcYbuffer + (numLines/2+i)*numPixels + j)) +

    (*(Uint8 *)(tempSrcYbuffer + (numLines/2+i)*numPixels + (j+1))) -

    (*(Uint8 *)(tempSrcYbuffer + (numLines/2+i-1)*numPixels + (j-1))) -

    2*(*(Uint8 *)(tempSrcYbuffer + (numLines/2+i-1)*numPixels + j)) -

    (*(Uint8 *)(tempSrcYbuffer + (numLines/2+i-1)*numPixels + (j+1)));

    d2 = (*(Uint8 *)(tempSrcYbuffer + (numLines/2+i)*numPixels + (j+1))) -

    (*(Uint8 *)(tempSrcYbuffer + (numLines/2+i)*numPixels + (j-1))) +

    2*(*(Uint8 *)(tempSrcYbuffer + i*numPixels + (j+1))) -2*(*(Uint8 *)(tempSrcYbuffer + i*numPixels + (j-1))) +(*(Uint8 *)(tempSrcYbuffer + (numLines/2+i-1)*numPixels + (j+1))) -(*(Uint8 *)(tempSrcYbuffer + (numLines/2+i-1)*numPixels + (j-1)));

    intTemp = d1>d2 d1:d2;

    if(intTemp<0)

    {

    intTemp = 0;

    }

    if(intTemp>255)

    {

    intTemp = 255;

    *(Uint8 *)(tempDisYbuffer + i*numPixels + j) = intTemp;

    }

    }

    }

    }

    圖6就是經過用邊緣檢測(Sobel邊緣算子)處理后的圖像。

    圖6 邊緣檢測(Sobel邊緣算子)實驗結果

    在數(shù)字圖像處理的實驗教學中,突出強調理論知識和實踐的結合,切實使實驗課程成為學習和應用之間的紐帶,從而有效地提高學生解決問題的綜合能力。為此在實驗課程中要篩選圖像處理中最重要的算法作為實驗課程的主要教學內容,涵蓋了圖像的點運算、圖像的幾何變換、圖像的增強、圖像的邊緣檢測和視頻處理等重要部分。除此外,重點培養(yǎng)學生的動手能力,讓每個學生都能熟悉DSP實驗平臺的使用,通過編寫調試程序使學生熟練地掌握使用CCS集成開發(fā)環(huán)境和數(shù)字圖像處理的DSP編程實現(xiàn)[13-14]。

    5 結束語

    在本實驗平臺里,基于CCS開發(fā)環(huán)境可以促進學生對數(shù)字圖像處理知識的理解,并通過實踐來鞏固課堂里學到的知識,讓學生對數(shù)字信號處理理論知識掌握得更深刻,同時對硬件實驗產生很大的興趣,并看到了自己的不足之處,從而使學生更加努力、認真地學習理論課上的知識。

    [1] 李小紅.基于DSP圖像處理實驗系統(tǒng)的開發(fā)與應用[J].合肥學院學報, 2009,19(4):38-41.

    [2] 賈永紅.現(xiàn)代化教學手段在數(shù)字圖像處理教學中的應用研究[J].測繪通報, 2006(1):62-64.

    [3] 劉洋, 劉嘉.數(shù)字圖像處理課程教學方法研究[J].教研, 2011(8):70-71.

    [4] 楊達亮.DSP課程實驗教學分析[J].廣西大學學報,2007(29):184-186.

    [5] 廉小親,張曉力,方平,等.DSP 技術應用綜合實訓課程的構建[J].中國現(xiàn)代教育裝備,2009(3):116-118.

    [6] 劉黨輝,沈蘭蓀.DSP芯片及其在圖像技術中的應用[J].測控技術,2001,20(5):16-23.

    [7] 劉源,朱善安,葉旭東.基于DM642的嵌入式視頻監(jiān)控系統(tǒng)硬件設計[J].電子器件,2006,26(3):905-908.

    [8] 李方慧,王飛.何佩琨,等.TMS320C6000 系列 DSPs 原理與應用[M].北京:電子工業(yè)出版社,2003.

    [9] 張煒,胡云龍,吳鎮(zhèn)揚.DM642的性能及其在視頻處理實驗中的應用[J].電氣電子教學學報,2005,27(5):82-85.

    [10] 何偉,陳彬,張玲.DSP/BIOS在基于DM642的視頻圖像處理中的應用[J].信息與電子工程,2006,4(1):60-62.

    [11] 張建平, 戴詠夏.CCS在數(shù)字信號處理實驗教學中的探究[J].高等理科教育, 2009(1):92-94.

    [12] 章世秀,高天武,鄒修國.基于CCS的邊緣檢測算子實驗[J].高校實驗室工作研究,2012(3):56-57.

    [13] 韓智, 張振虹.“數(shù)字圖像處理”實驗課教學改革與實踐[J].實驗室研究與探索,2008,27(9):102-104.

    [14] 田秀玲.DSP應用教學的探索和實踐[J].中國電力教育,2010(28):76-77.

    猜你喜歡
    代碼灰度邊緣
    采用改進導重法的拓撲結構灰度單元過濾技術
    基于灰度拉伸的圖像水位識別方法研究
    高技術通訊(2021年3期)2021-06-09 06:57:48
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    基于最大加權投影求解的彩色圖像灰度化對比度保留算法
    自動化學報(2017年5期)2017-05-14 06:20:56
    一張圖看懂邊緣計算
    基于灰度線性建模的亞像素圖像抖動量計算
    在邊緣尋找自我
    雕塑(1999年2期)1999-06-28 05:01:42
    文化| 盘山县| 马龙县| 赫章县| 沾化县| 乌兰察布市| 乐至县| 班玛县| 芒康县| 昌都县| 石棉县| 铜山县| 闽侯县| 门头沟区| 庆云县| 乐安县| 牙克石市| 闸北区| 米泉市| 潮州市| 石景山区| 紫金县| 贵阳市| 墨竹工卡县| 揭阳市| 甘孜| 阿拉尔市| 电白县| 永川市| 特克斯县| 沙田区| 安陆市| 深泽县| 眉山市| 富源县| 南安市| 东海县| 柳河县| 黄龙县| 凌海市| 萍乡市|