新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 淺析監(jiān)控圖像處理系統(tǒng)的軟件結構

        淺析監(jiān)控圖像處理系統(tǒng)的軟件結構

        作者: 時間:2011-01-20 來源:網絡 收藏
        視頻圖像數(shù)據(jù)的顯示問題,目前都是利用Windows API函數(shù)SetDIBitsToDevice實現(xiàn)圖像數(shù)據(jù)從緩沖區(qū)到顯示設備之間的傳送。絕大多數(shù)顯卡的硬件功能支持SetDIBitsToDevice,當硬件不支持時,Windows將提供經軟件模擬的SetDIBitsToDevice函數(shù)。由于有統(tǒng)一的規(guī)范,不需要關心所選用的顯卡的具體細節(jié),同是顯示模式的問題也迎刃而解了。由于圖像數(shù)據(jù)的傳輸由顯卡的硬件完成,所以能達到很好的效果。

        本文引用地址:http://www.104case.com/article/156761.htm

        Windows圖像軟件系統(tǒng)的基礎結構

          在Windows操作系統(tǒng)且采用單屏方式的條件下,要對圖像進行處理,就必須將圖像裝入內存。當物理內存不足時,系統(tǒng)通過內存分頁交換,利用硬盤空間模擬內存。應用程序使用統(tǒng)一的系統(tǒng)內存管理,代碼簡單,維護方便,還具有自動伸縮性。

          圖像作為一個處理對象放到內存中,必須使用數(shù)據(jù)結構來描述它,這就是圖像數(shù)據(jù)結構。對于任何一個圖像應用程序來說,圖像數(shù)據(jù)總是應用程序數(shù)據(jù)的核心部分。

          應用程序的所有功能幾乎都是圍繞它進行的。如文件讀寫、掃描、拍攝、處理、顯示、打印等,都需要建立、訪問圖像數(shù)據(jù),實際上都是以圖像數(shù)據(jù)結構核心為中心的。即使是最簡單的圖像顯示軟件,也需要圖像文件讀取和圖像顯示兩大部分。

          一個圖像軟件系統(tǒng),包括不同的圖像處理算法、圖像顯示、掃描儀或攝像機支持、圖像采集卡支持、圖像文件格式轉換等,都涉及到圖像數(shù)據(jù)結構。如果我們建立了一個以圖像數(shù)據(jù)結構為核心的Windows圖像軟件系統(tǒng)的基礎結構,就建立了一個完整的軟件圖像環(huán)境。

          圖像基礎結構包括圖像數(shù)據(jù)結構核心和圍繞此核心構造的周邊模塊。圖像數(shù)據(jù)結構核心是居于中心位置的。周邊模塊包括圖像文件格式支持、圖像顯示、圖像處理等。

          在設計過程中,要注意以下幾個問題:

        圖像基礎結構的核心部分以C/C++語言完成。因為C/C++語言編譯效率高,執(zhí)行速度快,這對于要處理大量數(shù)據(jù)的圖像應用來說是非常關鍵的;且C/C++ 語言非常靈活,使得圖像基礎結構可以高效的實現(xiàn),而用其他的語言實現(xiàn)某些相同的功能可能要花很大的精力;C/C++語言移植性強,幾乎可以移植到任何硬件和操作系統(tǒng)中。

          圖像基礎結構的內部實現(xiàn)可以使用C++,但是對外接口一律使用C界面。因為C++的名字解析方法沒有統(tǒng)一的標準,不同公司的C++編譯器對相同的C++符號解析得到的名字可能完全不同,因此不同C++編譯器生成的目標文件不能正確連接。這使得像Windows系統(tǒng)下具有C++接口的動態(tài)連接庫(DLL)的應用不太可行,所以對外接口使用C語言則沒有這個問題。

          避免使用依賴于平臺的聲明、函數(shù)等,保持核心的可移植性。圖像核心定義和代碼只使用標準C數(shù)據(jù)類型和標準C庫(ANSI)調用。當需要高端應用時,圖像核心可以迅速移植到UNIX及其他平臺,使整個應用具備較強的移植能力和伸縮性。

          目前,圖像基礎結構包含如下模塊:

          ·StdImage:圖像數(shù)據(jù)結構核心以及對此核心進行操作的基本函數(shù);

          ·ProgressStub:進度處理機制的定義和接口;

          ·VirtualFile:虛擬文件I/O界面;

          ·Vf_file:虛擬文件I/O的實際文件實現(xiàn);

          ·Vf_memory:虛擬文件I/O的內存文件實現(xiàn);

          ·ImageFile:虛擬圖像文件讀寫界面;

          ·Jfit_file:虛擬圖像文件讀寫界面的JPEG格式實現(xiàn);

          ·Bmp-file:虛擬圖像文件讀寫界面的BMP格式實現(xiàn);

          ·Fgi_file:虛擬圖像文件讀寫界面的自由灰度圖像格式實現(xiàn);

          ·DibStdImage:DIB(設備無關位圖)與StdImage之間的轉換;

          ·mess_util:難以歸類的雜項輔助功能;

          ·ProgressWinHint:Windows下的一個進度處理機制實現(xiàn);

          ·WinMessUtilities:Windows下的難以歸類的雜項輔助功能。

          由于面向幀存的圖像硬件系統(tǒng)的結構,以圖像幀存為核心,還包括圖像的輸入輸出和處理等模塊;而面向計算機內存的圖像系統(tǒng)里,是以計算機內存為核心,同樣包括有圖像的輸入輸出和處理等模塊。前者以整體硬件結構為主體,軟件似乎只是圖像處理和數(shù)據(jù)存儲,后者以整體軟件結構為主體,硬件則納入軟件的管理之下。這兩種系統(tǒng)結構的差別很大,但從功能來講,有其相似之處。

          面向計算機內存的圖像軟件系統(tǒng)結構,稱之為Windows圖像基礎結構,這種Windows圖像基礎結構的總體結構框圖如圖2所示。在圖2中,StdImage結構代表了一個圖像或圖像序列,所有的功能幾乎都圍繞它進行。它可以利用ImageFile模塊從圖像文件裝入圖像,或者將圖像寫入文件中。在Windows環(huán)境下,為了顯示或打印圖像,通常會使用DIB,此外,像掃描儀、攝像機等還會以DIB的形式向計算機輸入圖像,因此圖像基礎結構設有DibStdImage模塊,以便在DIB和StdImage之間進行快速轉換。圖像通信插入在網絡和StdImage之間,由此可以實現(xiàn)圖像的傳輸,而這種傳輸,是以內存為媒介,它具有速度快的優(yōu)點。


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 长泰县| 峨山| 左云县| 和政县| 大宁县| 台中县| 许昌市| 凉城县| 抚远县| 河南省| 滨州市| 峨眉山市| 诏安县| 宕昌县| 长海县| 栾城县| 葫芦岛市| 封开县| 莱芜市| 临湘市| 恩平市| 卢湾区| 读书| 玉林市| 方正县| 秀山| 安丘市| 西安市| 全南县| 霞浦县| 同心县| 乾安县| 云梦县| 石泉县| 邮箱| 平山县| 木里| 吴忠市| 专栏| 左贡县| 普兰县|