時間:2023-03-29 09:24:38
序論:在您撰寫圖像處理技術論文時,參考他人的優秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
論文摘要:隨著醫學成像和計算機輔助技術的發展,從二維醫學圖像到三維可視化技術成為研究的熱點,本文介紹了醫學圖像處理技術的發展動態,對圖像分割、紋理分析、圖像配準和圖像融合技術的現狀及其發展進行了綜述。在比較各種技術在相關領域中應用的基礎上,提出了醫學圖像處理技術發展所面臨的相關問題及其發展方向。
1.引言
近20多年來,醫學影像已成為醫學技術中發展最快的領域之一,其結果使臨床醫生對人體內部病變部位的觀察更直接、更清晰,確診率也更高。20世紀70年代初,X-CT的發明曾引發了醫學影像領域的一場革命,與此同時,核磁共振成像象(MRI:MagneticResonanceImaging)、超聲成像、數字射線照相術、發射型計算機成像和核素成像等也逐步發展。計算機和醫學圖像處理技術作為這些成像技術的發展基礎,帶動著現代醫學診斷正產生著深刻的變革。各種新的醫學成像方法的臨床應用,使醫學診斷和治療技術取得了很大的進展,同時將各種成像技術得到的信息進行互補,也為臨床診斷及生物醫學研究提供了有力的科學依據。
在目前的影像醫療診斷中,主要是通過觀察一組二維切片圖象去發現病變體,往往需要借助醫生的經驗來判定。至于準確的確定病變體的空間位置、大小、幾何形狀及與周圍生物組織的空間關系,僅通過觀察二維切片圖象是很難實現的。因此,利用計算機圖象處理技術對二維切片圖象進行分析和處理,實現對人體器官、軟組織和病變體的分割提取、三維重建和三維顯示,可以輔助醫生對病變體及其它感興趣的區域進行定性甚至定量的分析,可以大大提高醫療診斷的準確性和可靠性。此外,它在醫療教學、手術規劃、手術仿真及各種醫學研究中也能起重要的輔助作用。
本文對醫學圖像處理技術中的圖像分割、紋理分析、圖像配準和圖像融合技術的現狀及其發展進行了綜述。
2.醫學圖像三維可視化技術
2.1三維可視化概述
醫學圖像的三維可視化的方法很多,但基本步驟大體相同,如圖.。從#$/&’(或超聲等成像系統獲得二維斷層圖像,然后需要將圖像格式(如0(#1&)轉化成計算機方便處理的格式。通過二維濾波,減少圖像的噪聲影響,提高信噪比和消除圖像的尾跡。采取圖像插值方法,對醫學關鍵部位進行各向同性處理,獲得體數據。經過三維濾波后,不同組織器官需要進行分割和歸類,對同一部位的不同圖像進行配準和融合,以利于進一步對某感興趣部位的操作。根據不同的三維可視化要求和系統平臺的能力,選擇不同的方法進行三維體繪制,實現三維重構。
2.2關鍵技術:
圖像分割是三維重構的基礎,分割效果直接影像三維重構的精確度。圖像分割是將圖像分割成有意義的子區域,由于醫學圖像的各區域沒有清楚的邊界,為了解決在醫學圖像分割中遇到不確定性的問題,引入模糊理論的模糊閥值、模糊邊界和模糊聚類等概念。快速準確的分離出解剖結構和定位區域位置和形狀,自動或半自動的圖像分割方法是非常重要的。在實際應用中有聚類法、統計學模型、彈性模型、區域生長、神經網絡等適用于醫學圖像分割的具體方法。
由于可以對同一部位用不同的成像儀器多次成像,或用同一臺儀器多次成像,這樣產生了多模態圖像。多模態圖像提供的信息經常相互覆蓋和具有互補性,為了綜合使用多種成像模式以提供更全面的信息,需要對各個模態的原始圖像進行配準和數據融合,其整個過程稱為數據整合。整合的第一步是將多個醫學圖像的信息轉換到一個公共的坐標框架內的研究,使多幅圖像在空間域中達到幾何位置的完全對應,稱為三維醫學圖像的配準問題。建立配準關系后,將多個圖像的數據合成表示的過程,稱為融合。在醫學應用中,不同模態的圖像還提供了不互相覆蓋的結構互補信息,比如,當CT提供的是骨信息,MRI提供的關于軟組織的信息,所以可以用邏輯運算的方法來實現它們圖像的合成。
當分割歸類或數據整合結束后,對體數據進行體繪制。體繪制一般分為直接體繪制和間接體繪制,由于三維醫學圖像數據量很大,采用直接體繪制方法,計算量過重,特別在遠程應用和交互操作中,所以一般多采用間接體繪制。在圖形工作站上可以進行直接體繪制,近來隨著計算機硬件快速發展,新的算法,如三維紋理映射技術,考慮了計算機圖形硬件的特定功能及體繪制過程中的各種優化方法,從而大大地提高了直接體繪制的速度。體繪制根據所用的投影算法不同加以分類,分為以對象空間為序的算法(又稱為體素投影法)和以圖像空間為序的算法!又稱為光線投射法",一般來說,體素投影法繪制的速度比光線投射法快。由于三維醫學圖像的繪制目的在于看見內部組織的細節,真實感并不是最重要的,所以在醫學應用中的繪制要突出特定診斷所需要的信息,而忽略無關信息。另外,高度的可交互性是三維醫學圖像繪制的另一個要求,即要求一些常見操作,如旋轉,放大,移動,具有很好的實時性,或至少是在一個可以忍受的響應時間內完成。這意味著在醫學圖像繪制中,繪制時間短的可視化方法更為實用。
未來的三維可視化技術將與虛擬現實技術相結合,不僅僅是獲得體數據的工具,更主要的是能創造一個虛擬環境。
3.醫學圖像分割
醫學圖像分割就是一個根據區域間的相似或不同把圖像分割成若干區域的過程。目前,主要以各種細胞、組織與器官的圖像作為處理的對象,圖像分割技術主要基于以下幾種理論方法。
3.1基于統計學的方法
統計方法是近年來比較流行的醫學圖像分割方法。從統計學出發的圖像分割方法把圖像中各個像素點的灰度值看作是具有一定概率分布的隨機變量,觀察到的圖像是對實際物體做了某種變換并加入噪聲的結果,因而要正確分割圖像,從統計學的角度來看,就是要找出以最大的概率得到該圖像的物體組合。用吉布斯(Gibbs)分布表示的Markov隨機場(MRF)模型,能夠簡單地通過勢能形式表示圖像像素之間的相互關系,因此周剛慧等結合人腦MR圖像的空間關系定義Markov隨機場的能量形式,然后通過最大后驗概率(MAP)方法估計Markov隨機場的參數,并通過迭代方法求解。層次MRF采用基于直方圖的DAEM算法估計標準有限正交混合(SFNM)參數的全局最優值,并基于MRF先驗參數的實際意義,采用一種近似的方法來簡化這些參數的估計。林亞忠等采用的混合金字塔Gibbs隨機場模型,有效地解決了傳統最大后驗估計計算量龐大和Gibbs隨機場模型參數無監督及估計難等問題,使分割結果更為可靠。
3.2基于模糊集理論的方法
醫學圖像一般較為復雜,有許多不確定性和不精確性,也即模糊性。所以有人將模糊理論引入到圖像處理與分析中,其中包括用模糊理論來解決分割問題?;谀:碚摰膱D形分割方法包括模糊閾值分割方法、模糊聚類分割方法等。模糊閾值分割技術利用不同的S型隸屬函數來定義模糊目標,通過優化過程最后選擇一個具有最小不確定性的S函數,用該函數表示目標像素之間的關系。這種方法的難點在于隸屬函數的選擇。模糊C均值聚類分割方法通過優化表示圖像像素點與C各類中心之間的相似性的目標函數來獲得局部極大值,從而得到最優聚類。Venkateswarlu等[改進計算過程,提出了一種快速的聚類算法。
3.2.1基于模糊理論的方法
模糊分割技術是在模糊集合理論基礎上發展起來的,它可以很好地處理MR圖像內在的模糊性和不確定性,而且對噪聲不敏感。模糊分割技術主要有模糊閾值、模糊聚類、模糊邊緣檢測等。在各種模糊分割技術中,近年來模糊聚類技術,特別是模糊C-均值(FCM)聚類技術的應用最為廣泛。FCM是一種非監督模糊聚類后的標定過程,非常適合存在不確定性和模糊性特點的MR圖像。然而,FCM算法本質上是一種局部搜索尋優技術,它的迭代過程采用爬山技術來尋找最優解,因此容易陷入局部極小值,而得不到全局最優解。近年來相繼出現了許多改進的FCM分割算法,其中快速模糊分割(FFCM)是最近模糊分割的研究熱點。FFCM算法對傳統FCM算法的初始化進行了改進,用K-均值聚類的結果作為模糊聚類中心的初值,通過減少FCM的迭代次數來提高模糊聚類的速度。它實際上是兩次尋優的迭代過程,首先由K-均值聚類得到聚類中心的次最優解,再由FCM進行模糊聚類,最終得到圖像的最優模糊分割。
3.2.2基于神經網絡的方法
按拓撲機構來分,神經網絡技術可分為前向神經網絡、反饋神經網絡和自組織映射神經網絡。目前已有各種類型的神經網絡應用于醫學圖像分割,如江寶釧等利用MRI多回波性,采用有指導的BP神經網絡作為分類器,對腦部MR圖像進行自動分割。而Ahmed和Farag則是用自組織Kohenen網絡對CT/MRI腦切片圖像進行分割和標注,并將具有幾何不變性的圖像特征以模式的形式輸入到Kohenen網絡,進行無指導的體素聚類,以得到感興趣區域。模糊神經網絡(FNN)分割技術越來越多地得到學者們的青睞,黃永鋒等提出了一種基于FNN的顱腦MRI半自動分割技術,僅對神經網絡處理前和處理后的數據進行模糊化和去模糊化,其分割結果表明FNN分割技術的抗噪和抗模糊能力更強。
3.2.3基于小波分析的分割方法
小波變換是近年來得到廣泛應用的一種數學工具,由于它具有良好的時一頻局部化特征、尺度變化特征和方向特征,因此在圖像處理上得到了廣泛的應用。
小波變換和分析作為一種多尺度多通道分析工具,比較適合對圖像進行多尺度的邊緣檢測,典型的有如Mallat小波模極大值邊緣檢測算法[6
3.3基于知識的方法
基于知識的分割方法主要包括兩方面的內容:(1)知識的獲取,即歸納提取相關知識,建立知識庫;(2)知識的應用,即有效地利用知識實現圖像的自動分割。其知識來源主要有:(1)臨床知識,即某種疾病的癥狀及它們所處的位置;(2)解剖學知識,即某器官的解剖學和形態學信息,及其幾何學與拓撲學的關系,這種知識通常用圖譜表示;(3)成像知識,這類知識與成像方法和具體設備有關;(4)統計知識,如MI的質子密度(PD)、T1和T2統計數據。Costin等提出了一種基于知識的模糊分割技術,首先對圖像進行模糊化處理,然后利用相應的知識對各組織進行模糊邊緣檢測。而謝逢等則提出了一種基于知識的人腦三維醫學圖像分割顯示的方法。首先,以框架為主要表示方法,建立完整的人腦三維知識模型,包含腦組織幾何形態、生理功能、圖像灰度三方面的信息;然后,采用“智能光線跟蹤”方法,在模型知識指導下直接從體積數據中提取并顯示各組織器官的表面。
3.4基于模型的方法
該方法根據圖像的先驗知識建立模型,有動態輪廓模型(ActiveContourModel,又稱Snake)、組合優化模型等,其中Snake最為常用。Snake算法的能量函數采用積分運算,具有較好的抗噪性,對目標的局部模糊也不敏感,但其結果常依賴于參數初始化,不具有足夠的拓撲適應性,因此很多學者將Snake與其它方法結合起來使用,如王蓓等利用圖像的先驗知識與Snake結合的方法,避開圖像的一些局部極小點,克服了Snake方法的一些不足。Raquel等將徑向基網絡(RBFNNcc)與Snake相結合建立了一種混合模型,該模型具有以下特點:(1)該混合模型是靜態網絡和動態模型的有機結合;(2)Snake的初始化輪廓由RBFNNcc提供;(3)Snake的初始化輪廓給出了最佳的控制點;(4)Snake的能量方程中包含了圖像的多譜信息。Luo等提出了一種將livewire算法與Snake相結合的醫學圖像序列的交互式分割算法,該算法的特點是在少數用戶交互的基礎上,可以快速可靠地得到一個醫學圖像序列的分割結果。
由于醫學圖像分割問題本身的困難性,目前的方法都是針對某個具體任務而言的,還沒有一個通用的解決方法。綜觀近幾年圖像分割領域的文獻,可見醫學圖像分割方法研究的幾個顯著特點:(1)學者們逐漸認識到現有任何一種單獨的圖像分割算法都難以對一般圖像取得比較滿意的結果,因而更加注重多種分割算法的有效結合;(2)在目前無法完全由計算機來完成圖像分割任務的情況下,半自動的分割方法引起了人們的廣泛注意,如何才能充分利用計算機的運算能力,使人僅在必要的時候進行必不可少的干預,從而得到滿意的分割結果是交互式分割方法的核心問題;(3)新的分割方法的研究主要以自動、精確、快速、自適應和魯棒性等幾個方向作為研究目標,經典分割技術與現代分割技術的綜合利用(集成技術)是今后醫學圖像分割技術的發展方向。
4.醫學圖像配準和融合
醫學圖像可以分為解剖圖像和功能圖像2個部分。解剖圖像主要描述人體形態信息,功能圖像主要描述人體代謝信息。為了綜合使用多種成像模式以提供更全面的信息,常常需要將有效信息進行整合。整合的第一步就是使多幅圖像在空間域中達到幾何位置的完全對應,這一步驟稱為“配準”。整合的第二步就是將配準后圖像進行信息的整合顯示,這一步驟稱為“融合”。
在臨床診斷上,醫生常常需要各種醫學圖像的支持,如CT、MRI、PET、SPECT以及超聲圖像等,但無論哪一類的醫學圖像往往都難以提供全面的信息,這就需要將患者的各種圖像信息綜合研究19],而要做到這一點,首先必須解決圖像的配準(或叫匹配)和融合問題。醫學圖像配準是確定兩幅或多幅醫學圖像像素的空間對應關系;而融合是指將不同形式的醫學圖像中的信息綜合到一起,形成新的圖像的過程。圖像配準是圖像融合必需的預處理技術,反過來,圖像融合是圖像配準的一個目的。
4.1醫學圖像配準
醫學圖像配準包括圖像的定位和轉換,即通過尋找一種空間變換使兩幅圖像對應點達到空間位置上的配準,配準的結果應使兩幅圖像上所有關鍵的解剖點或感興趣的關鍵點達到匹配。20世紀90年代以來,醫學圖像配準的研究受到了國內外醫學界和工程界的高度重視,1993年Petra等]綜述了二維圖像的配準方法,并根據配準基準的特性,將圖像配準的方法分為兩大類:基于外部特征(有框架)的圖像配準和基于內部特征(無框架)的圖像配準。基于外部特征的方法包括立體定位框架法、面膜法及皮膚標記法等。基于外部特征的圖像配準,簡單易行,易實現自動化,能夠獲得較高的精度,可以作為評估無框架配準算法的標準。但對標記物的放置要求高,只能用于同一患者不同影像模式之間的配準,不適用于患者之間和患者圖像與圖譜之間的配準,不能對歷史圖像做回溯性研究。基于內部特征的方法是根據一些用戶能識別出的解剖點、醫學圖像中相對運動較小的結構及圖像內部體素的灰度信息進行配準?;趦炔刻卣鞯姆椒òㄊ止そ换シ?、對應點配準法、結構配準法、矩配準法及相關配準法?;趦炔刻卣鞯膱D像配準是一種交互性方法,可以進行回顧性研究,不會造成患者不適,故基于內部特征的圖像配準成為研究的重點。
近年來,醫學圖像配準技術有了新的進展,在配準方法上應用了信息學的理論和方法,例如應用最大化的互信息量作為配準準則進行圖像的配準,在配準對象方面從二維圖像發展到三維多模醫學圖像的配準。例如Luo等利用最大互信息法對CT-MR和MR-PET三維全腦數據進行了配準,結果全部達到亞像素級配準精度。在醫學圖像配準技術方面引入信號處理技術,例如傅氏變換和小波變換。小波技術在空間和頻域上具有良好的局部特性,在空間和頻域都具有較高的分辨率,應用小波技術多分辨地描述圖像細貌,使圖像由粗到細的分級快速匹配,是近年來醫學圖像配準的發展之一。國內外學者在這方面作了大量的工作,如Sharman等提出了一種基于小波變換的自動配準剛體圖像方法,使用小波變換獲得多模圖像特征點然后進行圖像配準,提高了配準的準確性。另外,非線性配準也是近年來研究的熱點,它對于非剛性對象的圖像配準更加適用,配準結果更加準確。
目前許多醫學圖像配準技術主要是針對剛性體的配準,非剛性圖像的配準雖然已經提出一些解決的方法,但同剛性圖像相比還不成熟。另外,醫學圖像配準缺少實時性和準確性及有效的全自動的配準策略。向快速和準確方面改進算法,使用最優化策略改進圖像配準以及對非剛性圖像配準的研究是今后醫學圖像配準技術的發展方向。
4.2醫學圖像融合
圖像融合的主要目的是通過對多幅圖像間的冗余數據的處理來提高圖像的可讀性,對多幅圖像間的互補信息的處理來提高圖像的清晰度。不同的醫學影像設備獲取的影像反映了不同的信息:功能圖像(SPECT、PET等)分辨率較差,但它提供的臟器功能代謝和血液流動信息是解剖圖像所不能替代的;解剖圖像(CT、MRI、B超等)以較高的分辨率提供了臟器的解剖形態信息,其中CT有利于更致密的組織的探測,而MRI能夠提供軟組織的更多信息。多模態醫學圖像的融合把有價值的生理功能信息與精確的解剖結構結合在一起,可以為臨床提供更加全面和準確的資料。
醫學圖像的融合可分為圖像融合的基礎和融合圖像的顯示。(1)圖像融合的基礎:目前的圖像融合技術可以分為2大類,一類是以圖像像素為基礎的融合法;另一類是以圖像特征為基礎的融合方法。以圖像像素為基礎的融合法模型可以表示為:
其中,為融合圖像,為源圖像,為相應的權重。以圖像特征為基礎的融合方法在原理上不夠直觀且算法復雜,但是其實現效果較好。圖像融合的步驟一般為:①將源圖像分別變換至一定變換域上;②在變換域上設計一定特征選擇規則;③根據選取的規則在變換域上創建融合圖像;④逆變換重建融合圖像。(2)融合圖像的顯示:融合圖像的顯示方法可分成2種:空間維顯示和時間維顯示。
目前,醫學圖像融合技術中還存在較多困難與不足。首先,基本的理論框架和有效的廣義融合模型尚未形成。以致現有的技術方法還只是針對具體病癥、具體問題發揮作用,通用性相對較弱。研究的圖像以CT、MRI、核醫學圖像為主,超聲等成本較低的圖像研究較少且研究主要集中于大腦、腫瘤成像等;其次,由于成像系統的成像原理的差異,其圖像采集方式、格式以及圖像的大小、質量、空間與時間特性等差異大,因此研究穩定且精度較高的全自動醫學圖像配準與融合方法是圖像融合技術的難點之一;最后,缺乏能夠客觀評價不同融合方法融合效果優劣的標準,通常用目測的方法比較融合效果,有時還需要利用到醫生的經驗。
在圖像融合技術研究中,不斷有新的方法出現,其中小波變換在圖像融合中的應用,基于有限元分析的非線性配準以及人工智能技術在圖像融合中的應用將是今后圖像融合研究的熱點與方向。隨著三維重建顯示技術的發展,三維圖像融合技術的研究也越來越受到重視,三維圖像的融合和信息表達,也將是圖像融合研究的一個重點。
5.醫學圖像紋理分析
一般認為圖像的紋理特征描述物體表面灰度或顏色的變化,這種變化與物體自身屬性有關,是某種紋理基元的重復。Sklansky早在1978年給出了一個較為適合于醫學圖像的紋理定義:“如果圖像的一系列固有的統計特性或其它的特性是穩定的、緩慢變化的或者是近似周期的,那么則認為圖像的區域具有不變的紋理”。紋理的不變性即指紋理圖像的分析結果不會受到旋轉、平移、以及其它幾何處理的影響。目前從圖像像素之間的關系角度,紋理分析方法主要包括以下幾種。
5.1統計法
統計分析方法主要是基于圖像像素的灰度值的分布與相互關系,找出反映這些關系的特征?;驹硎沁x擇不同的統計量對紋理圖像的統計特征進行提取。這類方法一般原理簡單,較易實現,但適用范圍受到限制。該方法主要適合醫學圖像中那些沒有明顯規則性的結構圖像,特別適合于具有隨機的、非均勻性的結構。統計分析方法中,最常用的是共生矩陣法,其中有灰度共生矩陣(graylevelco-occurrencematrix,GLCM)和灰度—梯度共生矩陣。杜克大學的R.Voracek等使用GLCM對肋間周邊區提取的興趣區(regionofinterest,ROI)進行計算,測出了有意義的紋理參數。另外,還有長游程法(runlengthmatrix,RLM),其紋理特征包括短游程優勢、長游程優勢、灰度非均勻化、游程非均勻化、游程百分比等,長游程法是對圖像灰度關系的高階統計,對于給定的灰度游程,粗的紋理具有較大的游程長度,而細的紋理具有較小的游程長度。
5.2結構法
結構分析方法是分析紋理圖像的結構,從中獲取結構特征。結構分析法首先將紋理看成是有許多紋理基元按照一定的位置規則組成的,然后分兩個步驟處理(1)提取紋理基元;(2)推論紋理基元位置規律。目前主要用數學形態學方法處理紋理圖像,該方法適合于規則和周期性紋理,但由于醫學圖像紋理通常不是很規則,因此該方法的應用也受到限制,實際中較少采用。
5.3模型法
模型分析方法認為一個像素與其鄰域像素存在某種相互關系,這種關系可以是線性的,也可以是符合某種概率關系的。模型法通常有自回歸模型、馬爾科夫隨機場模型、Gibbs隨機場模型、分形模型,這些方法都是用模型系數來表征紋理圖像,其關鍵在于首先要對紋理圖像的結構進行分析以選擇到最適合的模型,其次為如何估計這些模型系數。如何通過求模型參數來提取紋理特征,進行紋理分析,這類方法存在著計算量大,自然紋理很難用單一模型表達的缺點。
5.4頻譜法
頻譜分析方法主要基于濾波器理論,包括傅立葉變換法、Gabor變換法和小波變換法。
1973年Bajcsy使用傅立葉濾波器方法分析紋理。Indhal等利用2-D快速傅立葉變換對紋理圖像進行頻譜分析,從而獲得紋理特征。該方法只能完成圖像的頻率分解,因而獲得的信息不是很充分。1980年Laws對圖像進行傅氏變換,得出圖像的功率譜,從而提取紋理特征進行分析。
Gabor函數可以捕捉到相當多的紋理信息,且具有極佳的空間/頻域聯合分辨率,因此在實際中獲得了較廣泛的應用。小波變換法大體分金子塔形小波變換法和樹形小波變換法(小波包法)。
小波變換在紋理分析中的應用是Mallat在1989年首先提出的,主要用二值小波變換(DiscreteWaveletTransform,DWT),之后各種小波變換被用于抽取紋理特征。傳統的金字塔小波變換在各分解級僅對低頻部分進行分解,所以利用金字塔小波變換進行紋理特征提取是僅利用了紋理圖像低頻子帶的信息,但對某些紋理,其中高頻子帶仍含有有關紋理的重要特征信息(如對具有明顯的不規則紋理的圖像,即其高頻子帶仍含有有關紋理的重要特征)得不到利用。使用在每個分解級對所有的頻率通道均進行分解的完全樹結構小波變換提取特征,能夠較全面地提取有關紋理特征。
由于醫學圖像及其紋理的復雜性,目前還不存在通用的適合各類醫學圖像進行紋理分析的方法,因而對于各類不同特點的醫學圖像就必須采取有針對性地最適合的紋理分析技術。另外,在應用某一種紋理分析方法對圖像進行分析時,尋求最優的紋理特征與紋理參數也是目前醫學圖像紋理分析中的重點和難點。
6.總結
隨著遠程醫療技術的蓬勃發展,對醫學圖像處理提出的要求也越來越高。醫學圖像處理技術發展至今,各個學科的交叉滲透已是發展的必然趨勢,其中還有很多亟待解決的問題。有效地提高醫學圖像處理技術的水平,與多學科理論的交叉融合、醫務人員和理論技術人員之間的交流就顯得越來越重要。多維、多參數以及多模式圖像在臨床診斷(包括病灶檢測、定性,臟器功能評估,血流估計等)與治療(包括三維定位、體積計算、外科手術規劃等)中將發揮更大的作用。
參考文獻
[1]P.Suetens.FundamentalsofMedicalImaging[M].CambridgeUniversityPress,2002.
[2]劉俊敏,黃忠全,王世耕,張穎.醫學圖像處理技術的現狀及發展方向[J].醫療衛生設備,2005,Vol26
(12):25-26.
[3]田婭,饒妮妮,蒲立新.國內醫學圖像處理技術的最新動態[J].電子科技大學學報,2002,Vol31(5):
485-489.
[4]周剛慧,施鵬飛.磁共振圖像的隨機場分割方法[J].上海交通大學學報,2001,Vol35(11):1655.
[5]ZhangHM,YuanZJ,CaiZM.SegmentationofMRIusinghierarchicalmarkovrandomfield[J].Journalof
Software,2002,Vol13(9):1779.
[6]林亞忠,陳武凡,楊豐.基于混合金字塔吉布斯隨機場模型的圖像分割[J].中國生物醫學工程學報,
2004,Vol23(1):79.
[7]聶生東,陳瑛,顧順德.磁共振顱腦圖像快速模糊聚類分割算法研究[J].中國生物醫學工程學報,2001,
Vol20(2):104.
[8]江寶釧,張鈞良.基于BP神經網絡的MRI分割[J].微機發展,2000,Vol1:67.
[9]AhmedMN,FaragA.Two-stageneuralnetworkforvolumesegmentationofmedicalimages[J].Proceedings
ofIEEEInternationalConferenceonNeuralNetworks,1997,Vol28(3):1373.
[10]黃永峰,岑康,司京玉等.模糊神經網絡在顱腦磁共振圖像分割中的應用研究[J].中國生物醫學工程
學報,2003,Vol22(6):508.
[11]CostinH,RotariuCR.Knowledge-basedcontourdetectioninmedicalimagingusingfuzzylogic[J].
InternationalSymposiumonSCS’03,2003,1:273.
[12]謝逢,羅立民,田雪琴.基于知識的人腦三維醫學圖像分割顯示方法[J].生物醫學工程學雜志,1997,
Vol14(2):124.
[13]王蓓,張立明.利用圖像先驗知識與Snake結合對心臟序列圖像的分割[J].復旦大學學報(自然科學
版),2003,Vol42(1):81.
[14]RaquelVC,VeronicaMB,OscarYS.Couplingofradial-basisnetworkandactivecontourmodelformulti
spectralbrainMRIsegmentation[J].IEEETransactionsonBiomedicalEngineering,2004,Vol51(3):459.
[15]LuoXP,TianJ,LinY.Analgorithmforsegmentationofmedicalimageseriesbasedonactivecontour
model[J].JournalofSoftware,2002,Vol13(6):1050.
[16]HallpikeL,HawkesDJ.Medicalimageregistration:Anoverview[J].BrInstituteRadiol,2004,Vol14(6):
455-463.
[17]PetraA,ElsenV.MedicalImagemaching:Areviewwithclassification[J].IEEETransMedImage,1993,
Vol12(3):26-39.
[18]LuoShuo-qian,LiXiang.Implementationofmutualinformationbasedmulti-modalitymedicalimage
registration[A].EngMedBillSocProc22ndAnnIntConfIEEE[C].NavyPierConventionCenterChicago,
Illinois,USA:TheInstituteofElectricalandElectricalandElectronicsEngineers,Ind,2000,2:1447-1450.
[19]SharmanR,TylerJM,PianykhOL,etal.Afastandaccuratetomethodtoregistermedicalimagesusing
waveletmodulusmaxima[J].PattRecogLett,2000,21:447-462.
[20]LesterH,ArridgeSR.ASurveyofhierarchiclnon-linearmedicalimageregistration[J].PatternRecognition,
1999,32:129-149.
[21]盧健,胡志忠,楊如乃.醫學圖像融合技術的研究[J].上海生物醫學工程,2006,Vol27(3):163-167.
[22]王新成.高級圖像處理技術[M].北京:中國科學技術出版社,2001.
[23]RVoracek,HPMcAdams,puterAidedDiagnosisofInterstitialLungDisease:aTexture
FeatureExtractionandClassificationApproach[J].ProcofSPIE,1998,3338:1502-1509.
基于圖像采集卡的視頻圖像處理系統
計算機圖像處理系統從系統層次上可分為高、中、低檔三個層次,目前一般比較普及的是低檔次的系統,該系統由CCD(攝像頭)、圖像采集卡、計算機三個部分組成,其結構簡單,應用方便,效果也比較不錯,得到的圖像較清晰。目前網上基于VC開發經驗的文章不少,可是關于如何在VC開發平臺上使用圖像采集卡的文章確沒發現,筆者針對在科研開發中積累的使用圖像采集卡經驗,介紹如何自己是如何將采集卡集成到圖像開發系統中,希望能夠給目前正需要利用圖像采集卡開發自己的圖像處理系統的朋友有所幫助。
使用的攝像機采用臺灣BENTECHINDUSTRIAL有限公司生產的CV-155L黑白攝像機。該攝像機分辨率為752x582。圖象采集卡我們采用北京中科院科技嘉公司開發的基于PCI總線的CA-MPE1000黑白圖象采集卡。使用圖像采集卡分三步,首先安裝采集卡的驅動程序,并將虛擬驅動文件VxD.vxd拷貝到Windows的SYSTEM目錄下;這時候就可以進入開發狀態了,進入VC開發平臺,生成新的項目,由于生產廠家為圖像采集卡提供了以mpew32.dll、mpew32.lib命名的庫文件,庫中提供了初始硬件、采集圖像等函數,為使用這些函數,在新項目上連接該動態庫;最后一步就是采集圖像并顯示處理了,這一步要設置系統調色板,因為采集卡提供的是裸圖形式,既純圖像數據,沒有圖像的規格和調色板信息,這些需要開發者自己規定實現,下面是實現的部分代碼:
CTestView::CTestView()
{
W32_Init_MPE1000();//初始化采集卡
W32_Modify_Contrast(50);//下面的函數是為了對采集卡進行預設置
W32_Modify_Brightness(45);//設置亮度
W32_Set_HP_Value(945);//設置水平采集點數
wCurrent_Frame=1;//當前幀為1,獲取的圖像就是從這幀取得的
//設置采集信號源,僅對MPE1000有效
W32_Set_Input_Source(1);
W32_CACardParam(AD_SETHPFREQ,hpGrabFreq);
W32_Set_PAL_Range(1250,1024);//設置水平采集范圍
W32_Set_VGA_Mode(1);
wGrabWinX1=0;//采集窗口的左上角的坐標
wGrabWinY1=0;
firstTime=TRUE;
bGrabMode=FRAME;
bZipMode=ZIPPLE;
/
lpDib=NULL;//存放獲取的圖像數據
}
CTestView::~CTestView()
{
W32_Close_MPE1000();//關閉采集卡
}
////顯示采集的圖象,雙擊鼠標采集停止
voidCTestView::OnGraboneframe()
{
//TODO:Addyourcommandhandlercodehere
wCurrent_Frame=1;
//設置采集目標為內存
W32_CACardParam(AD_SETGRABDEST,CA_GRABMEM);
//啟動采集
if(lpDib!=NULL)
{
GlobalUnlock(hglbDIB);
GlobalFree(hglbDIB);
}
//分配內存
hglbDIB=GlobalAlloc(GHND,(DWORD)wImgWidth*(DWORD)wImgHeight);
lpDib=(BYTE*)GlobalLock(hglbDIB);
hdc=GetDC()->GetSafeHdc();
if(lpDib!=NULL)
{
cxDib=wImgWidth;
cyDib=wImgHeight;
SetLogicPal(hdc,cxDib,cyDib,8);
SetStretchBltMode(hdc,COLORONCOLOR);
bGrabMark=TRUE;
while(bGrabMark==TRUE)
{
if(msg.message==WM_LBUTTONDBLCLK)
bGrabMark=FALSE;
W32_ReadXMS2Buf(wCurrent_Frame,lpDib);
SetDIBitsToDevice(hdc,0,0,cxDib,cyDib,0,0,
0,cyDib,(LPSTR)lpDib,
bmi,
DIB_RGB_COLORS);
}
//停止采集
W32_CAStopCapture();
::ReleaseDC(GetSafeHwnd(),hdc);
return;
}
////將下面這個函數添加在視圖類的CTestView::OnSize()函數中,就可以對系統的調色板進行設置。
voidWINAPIInitLogicPal(HDChdc,shortwidth,shortheight,WORDbitCount)
{
intj,i;
shortcxDib,cyDib;
LOGPALETTE*pLogPal;
j=256;
if((pLogPal=(LOGPALETTE*)malloc(sizeof(LOGPALETTE)+(j*sizeof(PALETTEENTRY))))==NULL)
return;
pLogPal->palVersion=0x300;
pLogPal->palNumEntries=j;
for(i=0;ipLogPal->palPalEntry[i].peRed=i;
pLogPal->palPalEntry[i].peGreen=i;
pLogPal->palPalEntry[i].peBlue=i;
pLogPal->palPalEntry[i].peFlags=0;
}
hPal=::CreatePalette(pLogPal);
deletepLogPal;
::SelectPalette(hdc,hPal,0);
::RealizePalette(hdc);
cxDib=width;cyDib=height;
if((bmi=(BITMAPINFO*)malloc(sizeof(BITMAPINFOHEADER)+j*sizeof(RGBQUAD)))==NULL)
return;
//bmi為全局變量,用于顯示圖像時用
bmi->bmiHeader.biSize=40;
bmi->bmiHeader.biWidth=cxDib;
bmi->bmiHeader.biHeight=cyDib;
bmi->bmiHeader.biPlanes=1;
bmi->bmiHeader.biBitCount=bitCount;
bmi->bmiHeader.biCompression=0;
bmi->bmiHeader.biSizeImage=0;
bmi->bmiHeader.biXPelsPerMeter=0;
bmi->bmiHeader.biYPelsPerMeter=0;
bmi->bmiHeader.biClrUsed=0;
bmi->bmiHeader.biClrImportant=0;
for(i=0;ibmi->bmiColors[i].rgbBlue=i;
bmi->bmiColors[i].rgbGreen=i;
bmi->bmiColors[i].rgbRed=i;
bmi->bmiColors[i].rgbReserved=0;
}
}
視頻"畫中畫"技術
"畫中畫"這個概念類似與彩色電視機"畫中畫",就是在一幅大的圖像內顯示另外一幅內容不同的小的圖像,小圖像的尺寸大小一般地說為大圖像尺寸的1/4或1/9,顯示位置在大圖像的右上角。這種技術不僅在電視技術中,在可視電話系統也可以發現這種技術的身影,它們都是依靠硬件來實現的,但是如何在VC開發平臺上用編程語言來將該功能添加到自己開發的視頻監控軟件,為使用者提供更大的信息量呢?也許讀者最容易想到的是首先顯示大圖像,然后再在一個固定位置畫第二幅小圖像,這種技術技術如果對于靜止圖像當然沒有問題,但是對于視頻流,由于每一秒鐘需要畫25幀,即25幅圖像,這樣一來計算機需要不停的畫不停的擦除,會給用戶以閃爍的感覺,如何解決這個問題呢?有的參考書上將大小圖像分快顯示,這種方法要將待顯示的圖像數據與顯示位置的關系對應起來,容易出錯不說,而且麻煩,且速度慢,為此,我對該方法進行了改進,得到了滿意的效果。實現的代碼如下:
voidpictureinpicture()
{
………………………..
CBitmapbitmap,*oldmap;
pData1=(BYTE*)newchar[biWidth*biHeight*3];//biWidth和biHeight為視頻采集卡獲取//的圖像尺寸。
Read(pData1,bih.biWidth*bih.biHeight*3);//該函數從采集卡中獲取數據
CClientDCdc(this);
m_pBMI1=newBITMAPINFO;//自定義的BMP文件信息結構,用于后面的圖像顯示
m_pBMI1->bmiHeader.biBitCount=24;
m_pBMI1->bmiHeader.biClrImportant=0;
m_pBMI1->bmiHeader.biClrUsed=0;
m_pBMI1->bmiHeader.biCompression=0;
m_pBMI1->bmiHeader.biHeight=biHeight;
m_pBMI1->bmiHeader.biPlanes=1;
m_pBMI1->bmiHeader.biSize=40;
m_pBMI1->bmiHeader.biSizeImage=WIDTHBYTES(biWidth*8)*biHeight*3;
m_pBMI1->bmiHeader.biWidth=biWidth;
m_pBMI1->bmiHeader.biXPelsPerMeter=0;
m_pBMI1->bmiHeader.biYPelsPerMeter=0;
////////////////////////////////////////////////////////////////////////
pData2=(BYTE*)newchar[biWidth1*biHeight1*3];//申請存放小圖像的緩沖區
Read(pData2,biWidth1*biHeight1*3);////向該緩沖區讀數據
m_pBMI2=newBITMAPINFO;
m_pBMI2->bmiHeader.biBitCount=24;
m_pBMI2->bmiHeader.biClrImportant=0;
m_pBMI2->bmiHeader.biClrUsed=0;
m_pBMI2->bmiHeader.biCompression=0;
m_pBMI2->bmiHeader.biHeight=biHeight1;
m_pBMI2->bmiHeader.biPlanes=1;
m_pBMI2->bmiHeader.biSize=40;
m_pBMI2->bmiHeader.biSizeImage=WIDTHBYTES(biWidth1*8)*biHeight1*3;
m_pBMI2->bmiHeader.biWidth=biWidth1;
m_pBMI2->bmiHeader.biXPelsPerMeter=0;
m_pBMI2->bmiHeader.biYPelsPerMeter=0;
//下面實現畫中畫的顯示
CDCMemDc;
MemDc.CreateCompatibleDC(&dc);
bitmap.CreateCompatibleBitmap(&dc,biWidth,biHeight);
oldmap=MemDc.SelectObject(&bitmap);
::StretchDIBits(MemDc.m_hDC,0,0,biWidth,biHeight,0,0,—biWidth,biHeight,pData1,m_pBMI1,DIB_RGB_COLORS,SRCCOPY);//首先將大圖像畫在內寸上下文中
::StretchDIBits(MemDc.m_hDC,20,20,biWidth1,biHeight1,_
0,0,biWidth1,biHeight1,pData2,m_pBMI2,DIB_RGB_COLORS,SRCCOPY);//再將小圖像畫在內寸上下文中
::StretchBlt(dc.m_hDC,0,0,bih.biWidth,bih.biHeight,_
MemDc.m_hDC,0,0,bih.biWidth,bih.biHeight,SRCCOPY);//將結果顯示在屏幕上。
MemDc.SelectObject(oldmap);
deletepData1;
deletem_pBMI1;
deletepData2;
基于圖像采集卡的視頻圖像處理系統
計算機圖像處理系統從系統層次上可分為高、中、低檔三個層次,目前一般比較普及的是低檔次的系統,該系統由CCD(攝像頭)、圖像采集卡、計算機三個部分組成,其結構簡單,應用方便,效果也比較不錯,得到的圖像較清晰。目前網上基于VC開發經驗的文章不少,可是關于如何在VC開發平臺上使用圖像采集卡的文章確沒發現,筆者針對在科研開發中積累的使用圖像采集卡經驗,介紹如何自己是如何將采集卡集成到圖像開發系統中,希望能夠給目前正需要利用圖像采集卡開發自己的圖像處理系統的朋友有所幫助。
使用的攝像機采用臺灣BENTECHINDUSTRIAL有限公司生產的CV-155L黑白攝像機。該攝像機分辨率為752x582。圖象采集卡我們采用北京中科院科技嘉公司開發的基于PCI總線的CA-MPE1000黑白圖象采集卡。使用圖像采集卡分三步,首先安裝采集卡的驅動程序,并將虛擬驅動文件VxD.vxd拷貝到Windows的SYSTEM目錄下;這時候就可以進入開發狀態了,進入VC開發平臺,生成新的項目,由于生產廠家為圖像采集卡提供了以mpew32.dll、mpew32.lib命名的庫文件,庫中提供了初始硬件、采集圖像等函數,為使用這些函數,在新項目上連接該動態庫;最后一步就是采集圖像并顯示處理了,這一步要設置系統調色板,因為采集卡提供的是裸圖形式,既純圖像數據,沒有圖像的規格和調色板信息,這些需要開發者自己規定實現,下面是實現的部分代碼:
CTestView::CTestView()
{
W32_Init_MPE1000();//初始化采集卡
W32_Modify_Contrast(50);//下面的函數是為了對采集卡進行預設置
W32_Modify_Brightness(45);//設置亮度
W32_Set_HP_Value(945);//設置水平采集點數
wCurrent_Frame=1;//當前幀為1,獲取的圖像就是從這幀取得的
//設置采集信號源,僅對MPE1000有效
W32_Set_Input_Source(1);
W32_CACardParam(AD_SETHPFREQ,hpGrabFreq);
W32_Set_PAL_Range(1250,1024);//設置水平采集范圍
W32_Set_VGA_Mode(1);
wGrabWinX1=0;//采集窗口的左上角的坐標
wGrabWinY1=0;
firstTime=TRUE;
bGrabMode=FRAME;
bZipMode=ZIPPLE;
/
lpDib=NULL;//存放獲取的圖像數據
}
CTestView::~CTestView()
{
W32_Close_MPE1000();//關閉采集卡
}
////顯示采集的圖象,雙擊鼠標采集停止
voidCTestView::OnGraboneframe()
{
//TODO:Addyourcommandhandlercodehere
wCurrent_Frame=1;
//設置采集目標為內存
W32_CACardParam(AD_SETGRABDEST,CA_GRABMEM);
//啟動采集
if(lpDib!=NULL)
{
GlobalUnlock(hglbDIB);
GlobalFree(hglbDIB);
}
//分配內存
hglbDIB=GlobalAlloc(GHND,(DWORD)wImgWidth*(DWORD)wImgHeight);
lpDib=(BYTE*)GlobalLock(hglbDIB);
hdc=GetDC()->GetSafeHdc();
if(lpDib!=NULL)
{
cxDib=wImgWidth;
cyDib=wImgHeight;
SetLogicPal(hdc,cxDib,cyDib,8);
SetStretchBltMode(hdc,COLORONCOLOR);
bGrabMark=TRUE;
while(bGrabMark==TRUE)
{
if(msg.message==WM_LBUTTONDBLCLK)
bGrabMark=FALSE;
W32_ReadXMS2Buf(wCurrent_Frame,lpDib);
SetDIBitsToDevice(hdc,0,0,cxDib,cyDib,0,0,
0,cyDib,(LPSTR)lpDib,
bmi,
DIB_RGB_COLORS);
}
//停止采集
W32_CAStopCapture();
::ReleaseDC(GetSafeHwnd(),hdc);
return;
}
////將下面這個函數添加在視圖類的CTestView::OnSize()函數中,就可以對系統的調色板進行設置。
voidWINAPIInitLogicPal(HDChdc,shortwidth,shortheight,WORDbitCount)
{
intj,i;
shortcxDib,cyDib;
LOGPALETTE*pLogPal;
j=256
if((pLogPal=(LOGPALETTE*)malloc(sizeof(LOGPALETTE)+(j*sizeof(PALETTEENTRY))))==NULL)
return;
pLogPal->palVersion=0x300;
pLogPal->palNumEntries=j;
for(i=0;ipLogPal->palPalEntry[i].peRed=i;
pLogPal->palPalEntry[i].peGreen=i;
pLogPal->palPalEntry[i].peBlue=i;
pLogPal->palPalEntry[i].peFlags=0;
}
hPal=::CreatePalette(pLogPal);
deletepLogPal;
::SelectPalette(hdc,hPal,0);
::RealizePalette(hdc);
cxDib=width;cyDib=height;
if((bmi=(BITMAPINFO*)malloc(sizeof(BITMAPINFOHEADER)+j*sizeof(RGBQUAD)))==NULL)
return;
//bmi為全局變量,用于顯示圖像時用
bmi->bmiHeader.biSize=40;
bmi->bmiHeader.biWidth=cxDib;
bmi->bmiHeader.biHeight=cyDib;
bmi->bmiHeader.biPlanes=1;
bmi->bmiHeader.biBitCount=bitCount;
bmi->bmiHeader.biCompression=0;
bmi->bmiHeader.biSizeImage=0;
bmi->bmiHeader.biXPelsPerMeter=0;
bmi->bmiHeader.biYPelsPerMeter=0;
bmi->bmiHeader.biClrUsed=0;
bmi->bmiHeader.biClrImportant=0;
for(i=0;ibmi->bmiColors[i].rgbBlue=i;
bmi->bmiColors[i].rgbGreen=i;
bmi->bmiColors[i].rgbRed=i;
bmi->bmiColors[i].rgbReserved=0;
}
}
視頻"畫中畫"技術
"畫中畫"這個概念類似與彩色電視機"畫中畫",就是在一幅大的圖像內顯示另外一幅內容不同的小的圖像,小圖像的尺寸大小一般地說為大圖像尺寸的1/4或1/9,顯示位置在大圖像的右上角。這種技術不僅在電視技術中,在可視電話系統也可以發現這種技術的身影,它們都是依靠硬件來實現的,但是如何在VC開發平臺上用編程語言來將該功能添加到自己開發的視頻監控軟件,為使用者提供更大的信息量呢?也許讀者最容易想到的是首先顯示大圖像,然后再在一個固定位置畫第二幅小圖像,這種技術技術如果對于靜止圖像當然沒有問題,但是對于視頻流,由于每一秒鐘需要畫25幀,即25幅圖像,這樣一來計算機需要不停的畫不停的擦除,會給用戶以閃爍的感覺,如何解決這個問題呢?有的參考書上將大小圖像分快顯示,這種方法要將待顯示的圖像數據與顯示位置的關系對應起來,容易出錯不說,而且麻煩,且速度慢,為此,我對該方法進行了改進,得到了滿意的效果。實現的代碼如下:
voidpictureinpicture()
{
………………………..
CBitmapbitmap,*oldmap;
pData1=(BYTE*)newchar[biWidth*biHeight*3];//biWidth和biHeight為視頻采集卡獲取//的圖像尺寸。
Read(pData1,bih.biWidth*bih.biHeight*3);//該函數從采集卡中獲取數據
CClientDCdc(this);
m_pBMI1=newBITMAPINFO;//自定義的BMP文件信息結構,用于后面的圖像顯示
m_pBMI1->bmiHeader.biBitCount=24;
m_pBMI1->bmiHeader.biClrImportant=0;
m_pBMI1->bmiHeader.biClrUsed=0;
m_pBMI1->bmiHeader.biCompression=0;
m_pBMI1->bmiHeader.biHeight=biHeight;
m_pBMI1->bmiHeader.biPlanes=1;
m_pBMI1->bmiHeader.biSize=40;
m_pBMI1->bmiHeader.biSizeImage=WIDTHBYTES(biWidth*8)*biHeight*3;
m_pBMI1->bmiHeader.biWidth=biWidth;
m_pBMI1->bmiHeader.biXPelsPerMeter=0;
m_pBMI1->bmiHeader.biYPelsPerMeter=0;
////////////////////////////////////////////////////////////////////////
pData2=(BYTE*)newchar[biWidth1*biHeight1*3];//申請存放小圖像的緩沖區
Read(pData2,biWidth1*biHeight1*3);////向該緩沖區讀數據
m_pBMI2=newBITMAPINFO;
m_pBMI2->bmiHeader.biBitCount=24;
m_pBMI2->bmiHeader.biClrImportant=0;
m_pBMI2->bmiHeader.biClrUsed=0;
m_pBMI2->bmiHeader.biCompression=0;
m_pBMI2->bmiHeader.biHeight=biHeight1;
m_pBMI2->bmiHeader.biPlanes=1;
m_pBMI2->bmiHeader.biSize=40;
m_pBMI2->bmiHeader.biSizeImage=WIDTHBYTES(biWidth1*8)*biHeight1*3;
m_pBMI2->bmiHeader.biWidth=biWidth1;
m_pBMI2->bmiHeader.biXPelsPerMeter=0;
m_pBMI2->bmiHeader.biYPelsPerMeter=0;
//下面實現畫中畫的顯示
CDCMemDc;
MemDc.CreateCompatibleDC(&dc);
bitmap.CreateCompatibleBitmap(&dc,biWidth,biHeight);
oldmap=MemDc.SelectObject(&bitmap);
::StretchDIBits(MemDc.m_hDC,0,0,biWidth,biHeight,0,0,—biWidth,biHeight,pData1,m_pBMI1,DIB_RGB_COLORS,SRCCOPY);//首先將大圖像畫在內寸上下文中
::StretchDIBits(MemDc.m_hDC,20,20,biWidth1,biHeight1,_
0,0,biWidth1,biHeight1,pData2,m_pBMI2,DIB_RGB_COLORS,SRCCOPY);//再將小圖像畫在內寸上下文中
::StretchBlt(dc.m_hDC,0,0,bih.biWidth,bih.biHeight,_
MemDc.m_hDC,0,0,bih.biWidth,bih.biHeight,SRCCOPY);//將結果顯示在屏幕上。
MemDc.SelectObject(oldmap);
deletepData1;
deletem_pBMI1;
隨著社會發展,計算機圖像處理技術的重要性逐漸被人們發現,將主要朝以下幾個方面發展:(1)未來的計算機圖像處理技術將會向自動化、智能化、高清晰度、高速傳輸、三維立體成像等方向發展。(2)計算機圖像處理技術將會朝兩個方面發展:一是注重實際操作,二是注重運用便捷。向圖像處理功能的集中化發展。(3)注重研究先進的算法和理論作為指導。理論是實踐的基礎,先進的理論可以使未來計算機圖像處理技術在實際運用中得到更廣泛的發展,所以,必須注重及時對先進理論和方法的研究與開發,這樣才能保證計算機圖像處理技術的更好應用。先進理論和方法主要包括小波分析、遺傳算法、分形幾何等方面。
2計算機圖像處理技術的組成
計算機圖像處理技術是通過計算機對圖像分析處理達到需要的結果的一項技術。一般被稱作數字圖像處理,通過掃描、攝像機等設備經過數字化之后得到二維數組,就是像素。計算機圖像處理技術主要包括以下三個部分:(1)圖像增強與復原:由于需要改進圖片的質量,這就需要對圖片進行圖像增強,通過低通濾波可以將圖片中的噪音去掉;通過高通濾波可以將邊緣等高頻信號進行增強,使圖片清晰。復原則是在已知模型的特定模糊和噪音程度情況下估計出原來圖像的技術。(2)圖像壓縮:由于圖像的數據比較巨大,對圖片儲存和傳輸都比較困難,因此,需要對圖像進行壓縮,以節省存儲空間和減少傳輸時間。圖像壓縮分為對靜態圖像的不失真壓縮方法和用于動態圖像的近似壓縮方法。(3)圖像匹配、描述與識別:這是圖像處理的主要目的,得到不再是具有隨機分布性質的文件,而是具有明確意義的符號、數值構成的圖形。
3計算機圖像處理技術的主要應用領域
3.1計算機輔助設計與制造技術
這項技術學科交叉、知識比較密集、應用范圍比較廣泛,是綜合性應用技術,由計算機與制造工程兩個技術相互滲透,相互結合。是先進技術的重要組成部分,計算機輔助設計與制造技術是一個國家工業現代化與科技水平的主要衡量標準之一。這項技術在工業領域中最主要的代表就是CAD與CAM這兩項實用工具。同時,在建筑設計、裝潢設計等領域也應用廣泛,也可以用來進行對飛機、汽車等工具的外形設計。當然,在其他方面也應用廣泛,而且得到的效果非常好,比如:電路板的印刷、網絡分析等等方面。
3.2遙感圖像處理系統
遙感技術的發展推動了高質量的不同波段遙感數字圖像被廣泛運用于農林牧副漁等行業的科技現代化之中。圖像處理在遙感技術領域有著十分重要的地位,將來會形成快速成像與信息自動化提取系統,而這個系統也是以圖像處理為主。遙感圖像處理技術功能將會不斷完善,得到更大的發展。
4計算機圖像處理技術的發展前景
現代科技的進步使計算機技術得到快速的發展,也就使計算機技術運用在圖像處理中有了可能,并且在圖像處理中產生了很重要的影響?,F在人們對圖像的要求越來越高,想要滿足人們越來越高的要求,就必須不斷進步、不斷創新。計算機技術將會越來越廣泛的運用于社會中,圖像處理技術也會越來越依賴計算機。隨著大量的成熟軟件的不斷被研發,既有專業軟件,也有普通軟件,可以滿足所有人的要求。技術人員應該開發新技術來滿足更多、更復雜的圖像處理要求,使圖像更加的豐富多彩。
5結語
關鍵詞:計算機圖像處理技術;數字全息
0引言
全息技術是物理學中一重要發現,越來越多的應用于各個行業。伴隨著CCD技術和計算機技術的發展,全息技術也得到一次質的飛躍,從傳統光學全息到數字全息。傳統光學全息將物光和參考光干涉得到全息照片來記錄光的振幅和相位信息,而數字全息則用CCD記錄物光和參考光的干涉,形成數字全息圖,再通過計算機圖像處理技術處理全息圖。因此,影響數字全息技術發展有兩個重要方面:CCD技術和計算機圖像處理技術。本文將從計算機應用方面闡述圖像處理技術在全息中的應用。
1圖像處理技術
圖像是現代社會人們獲取信息的一個主要手段。人們用各種觀測系統以不同的形式和手段獲得圖像,以拓展其認識的范圍。圖像以各種形式出現,可視的、不可視的,抽象的、實際的,計算機可以處理的和不適合計算機處理的。但究其本質來說,圖像主要分為兩大類:一類是模擬圖像,包括光學圖像、照相圖像、電視圖像等。它的處理速度快,但精度和靈活性差。另一類是數字圖像。它是將連續的模擬圖像離散化后處理變成為計算機能夠辨識的點陣圖像。從數字上看,數字圖像就是被量化的二維采樣數組。它是計算機技術發展的產物,具有精度高、處理方便和重復性好等特點。
圖像處理就是將圖像轉化為一個數字矩陣存放在計算機中,并采用一定的算法對其進行處理。圖像處理的基礎是數學,最主要任務就是各種算法的設計和實現。目前,圖像處理技術已經在很多方面有著廣泛的應用。如通訊技術、遙感技術、生物醫學、工業生產、計算機科學等等。根據應用領域的不同要求,可以將圖像處理技術劃分為許多分支,其中比較重要的分支有:①圖像數字化:通過采樣和量化將模擬圖像變成便于計算機處理的數字形式。③圖像的增強和復原:主要目的是增強圖像中的有用信息,削弱干擾和噪聲,使圖像清晰或將轉化為更適合分析的形式。③圖像編碼:在滿足一定的保真條件下,對圖像進行編碼處理,達到壓縮圖像信息量,簡化圖像的目的。以便于存儲和傳輸。④圖像重建:主要是利用采集的數據來重建出圖像。圖像重建的主要算法有代數法、傅立葉反投影法和使用廣泛的卷積反投影法等。⑤模式識別:識別是圖像處理的主要目的。如:指紋鑒別、人臉識別等是模式識別的內容。當今的模式識別方法通常有三種:統計識別法、句法結構模式識別法和模糊識別法。⑥計算機圖形學:用計算機將實際上不存在的,只是概念上所表示的物體進行圖像處理和顯現出來。
2計算機圖像處理技術在全息學中的應用
圖像處理技術在全息中的應用主要表現在:一是計算全息,基于計算機圖形學將計算機技術與光全息技術結合起來,通過計算機模擬、計算、處理,制作出全息圖。因此它可以記錄物理上不存在的實物。二是利用圖像的增強和復原,圖像編碼技術等對數字全息圖像質進行提高以及實現的各種算法。它的應用大致可以分為兩大類,即空域法和頻域法:①空域法:這種方法是把圖像看作是平面中各個像素組成的集合,然后直接對這一二維函數進行相應的處理。空域處理法主要有下面兩大類:一是領域處理法。其中包括梯度運算(GradientAlgorithm),拉普拉斯算子運算(LaplacianOperator),平滑算子運算(SmoothingOperator)和卷積運算(ConvolutionAlgorithm)。二是點處理法。包括灰度處理(greyprocessing),面積、周長、體積、重心運算等等。②頻域法:數字圖像處理的頻域處理方法是首先對圖像進行正交變換,得到變換頻域系列陣列,然后再施行各種處理,處理后再反變換到空間域,得到處理結果。這類處包括:濾波、數據壓縮、特征提取等處理。
3模擬實驗
本文運用matlab軟件,利用圖像處理技術,編寫了程序,以模擬計算全息和實現全息圖像的濾波。圖1是計算全息實現流程圖。
本文將運用matlab程序設計語言實現計算全息的制作、再現過程。標有“涉”一字,圖像尺寸為1024像素×1024像素;。模擬實驗中用到的參數為:激光模擬了氦氖激光器,波長為638.2nm;再現距離為40cm;因為原始物圖的尺寸用像素為單位表示,所以像素分辨率為1。
從模擬實驗中可以看出,數字全息的處理過程其實就是計算機圖像處理在全息技術的應用過程。利用計算機圖像處理技術對全息圖進行了記錄,將物光和參考光干涉得到了全息圖。并利用圖像的增強和復原對圖像進行了處理,以消除噪聲,得到更好的全息再現象。
本文僅模擬了計算全息的實現和再現過程,其實,計算機圖像處理在全息技術中的應用是全方位的,用實驗方法得到的全息圖中包含了更多的其他無用信息(噪聲),圖像處理技術在這里就顯得尤為重要。隨著計算機圖像處理技術的進一步發展,全息技術必然會迎來新的一輪發展和飛躍。超級秘書網:
參考文獻:
[1]周燦林,亢一瀾.數字全息干涉法用于變形測量.光子學報,2004,13(2):171-173.
[2]劉誠,李銀柱,李良鈺等.數字全息測量技術中消除零級衍射像的方法[J].中國激光,2001,A28(11):1024-1026.
網頁中的圖像,按照存儲格式不同可以分為矢量圖和位圖,按照使用用途的不同,大致可以分為地址欄圖像,網站Logo,網頁內容圖像等。地址欄圖像類似一個圖標,顯示在地址欄網址前邊,一般經過精心設計,能夠傳遞公司專業與精細的形象。內容圖像是指嵌在網頁中或者作為網頁背景的圖像。伴隨網絡技術和軟件技術的進步,用于圖像處理設計的軟件有了很大的發展。網頁三劍客中的Dreamweaver在進行網頁設計的同時,可以對一些圖片進行簡單的變化處理,fireworks能滿足對網頁圖片處理的大部分功能要求。對于一些有特殊要求的圖像,可以使用Adobe公司的Photoshop軟件進行處理;在進行Logo等設計時,一般使用CorelDraw或Illustrator等軟件來完成。在進行圖像的設計、選擇和處理中,掌握專業軟件的基本使用技巧是必需的,圖像在網頁設計中的功能主要可以分為視覺吸引、信息引導兩方面。要達到這樣的目的,需要對圖像進行合理的處理。使用動畫圖片,以及適當的色彩對比,形成版式的變化,吸引瀏覽者的注意,引導其對網站內容的閱讀。根據公司對網站的功能定位,其所承載的任務與指向有所不同,對瀏覽者所作設定亦有差異。比如騰訊公司的騰訊網()和騰訊(),一個作為門戶內容網站,一個作為公司形象網站是兩個獨立的網站,設計風格,內容和要求差異很大。
2新技術
網絡作為第四媒體,其顯示終端可能是計算機,平板,電視或智能手機,為了頁面兼容等原因,前端設計出現了很多新技術,如div+css技術,Javascript技術等,為了方便管理,一般采用對象的結構、表現和行為分開。結構是對象的內容,表現是其外觀,而行為是與瀏覽者的交互,或者說是瀏覽者進行鼠標點擊或輸入內容等操作時,頁面的反應。在進行網頁設計過程中,圖像對象也是如此,利用代碼可以對圖像進行一些效果的處理,起到資源占用少,頁面維護容易等目的,還可以達到一些用基本圖像處理技術不易實現的效果。用div+css結合Javascript技術可以實現在網頁前端一些設計效果和邏輯處理功能,比如圖像輪播和驗證碼校驗功能。在一個存在后臺管理的網站中,網頁的很多內容來自于后臺數據庫,一些圖片也不例外,內容需要和后臺交互,根據數據庫的內容和頁面的特定邏輯,決定圖像的外觀。這是基本圖像處理技術無法實現的,需要設計者了解動態頁面設計技術,常見的技術有,php和jsp技術等。
3結論
過去的文獻整理工作十分復雜,需要耗費大量的時間。通常是由整理人員對需要整理的文獻先進行清點,編寫一個清單,然后攝影人員按照清單的內容對資料進行縮微拍攝,最終歸檔。但是,隨著計算機技術的不斷改革創新,在目前的文獻整理工作中融入了很多高科技的元素,計算機發揮著其重要作用。在20世紀計算機技術剛剛興起的時候,人們運用計算機整理文獻的大致流程是:第一步先通過數據庫軟件對需要整理的文件中的數據進行整合,記錄在數據庫當中;第二步將需要拍攝的內容錄入到Word文檔當中,形成一個拍攝清單,里面表明刊頭等要素;第三步將文檔通過計算機打印出來。這三個步驟的完成都離不開計算機,同時因為人工智能代替的人力,減少了傳統方法中出現差錯的機會,使得整理工作更加精確和嚴密。在這一過程中,數據庫發揮著主導作用。到了21世紀,計算機軟件技術又出現了新的突破,人們需求的不斷變化,工作難度的增加,使最傳統的辦公軟件已經無法應付,需要開發一些有針對性的軟件來完成一些特殊的流程,減少人們的工作量,提高工作的效率。在微縮工程中,文獻整理占據了重要的地位,因此人們針對這一工程開發了專門的軟件技術。上個世紀文獻整理工作主要運用的是丹誠數據庫,但是面對復雜龐大的數據,如果僅僅是需要進行一個膠片盒的盒標打印工作,都需要將該數據庫當中每一條用的到的數據依次打開,然后再逐個進行復制粘貼到規定的文檔當中,規范一個格式,最后再進行打印。如此一個小的任務,就需要進行很多次的復制粘貼,程序很復雜,同時稍不留神就會出現錯誤。針對這一問題,一種新的計算機軟件便由此出現--marc-pro.exe。該應用程序是為了輔助數據庫的工作而設計的,它能夠使數據庫充分地發揮其自身的功能,在文獻整理工作中發揮了重要的作用,提高了文獻整理工作的效率。
2對圖像處理工作的幫助
目前無論是任何地點,都能夠看到監控攝像頭,視頻監控已經成為了社會的一種現象。視頻監控強調視頻的清晰度,才能夠更好地為大眾服務。隨著出現的各種圖像處理方法,圖像的清晰度在不斷地提高。而針對圖像處理這一任務,出現了各種處理軟件,并且隨著人們對圖像清晰度提出的新要求,這些軟件也在不斷的完善。
2.1常用的圖像處理功能
下面為大家分析一下在圖像處理時候,對軟件要求的幾項功能。模糊圖像清晰化功能。實際拍攝中,焦距、運動等對圖像進行的影響,出現圖像模糊化,運用處理軟件使原本模糊的圖像清晰。該項功能在實際生活中得到了廣泛的運用;消除噪聲。很多視頻拍攝完畢后,都會有很多干擾的聲音,覆蓋了我們需要的聲音。利用自動增強的功能,能夠使該圖像所要反映的內容更加突出;同時還能夠對圖像進行銳化處理、將其鋸齒消除。同時,由于很多監控設備像素不是很高,拍攝出來的畫面在放大之后會出現一片馬賽克的現象,可以運用軟件將馬賽克弱化。在拍攝物體的時候,如果該物體是背朝光源,就會出現拍攝出來的畫面很暗,無法看清楚物體的原貌,這是就可以用明暗校正的功能來處理該圖像;圖像的重建功能??梢詫⑴臄z的畫面分為多個幀,將幀進行融合,然后將模糊的部分進行清晰化處理;如果圖像中出現的人物面部不是很清晰,可以通過幀平均的方法,使人的五官變得更加清楚;對動態視頻處理的功能??梢詫⑴臄z中畫面的亮度、明暗對比、噪聲等問題進行處理;因為光線、監控機自身的原因,造成了拍攝的畫面出現了失真的問題,可以通過還原圖像的功能,使原本圖像的顏色真實展現在人們眼中。
2.2具體實例