




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中北大學2014屆畢業設計說明書第38頁共38頁1緒論Date\@"eeee年o月a日"1.1本課題的研究背景及意義數字圖像處理(DigitalImageProcessing)是通過計算機對圖像進行去除噪聲、增強、復原、分割、提取特征等處理的方法和技術。數字圖像處理的產生和迅速發展主要受三個因素的影響:一是計算機的發展;二是數學的發展(特別是離散數學理論的創立和完善);三是廣泛的農牧業、林業、環境、軍事、工業和醫學等方面的應用需求的增長。數字圖像處理最早出現于20世紀50年代,當時的電子計算機已經發展到一定水平,人們開始利用計算機來處理圖形和圖像信息。數字圖像處理作為一門學科大約形成于20世紀60年代初期。早期的圖像處理的目的是改善圖像的質量,它以人為對象,以改善人的視覺效果為目的。圖像處理中,輸入的是質量低的圖像,輸出的是改善質量后的圖像,常用的圖像處理方法有圖像增強、復原、編碼、壓縮等。首次獲得實際成功應用的是美國噴氣推進實驗室(JPL)。他們對航天探測器徘徊者7號在1964年發回的幾千張月球照片使用了圖像處理技術,如幾何校正、灰度變換、去除噪聲等方法進行處理,并考慮了太陽位置和月球環境的影響,由計算機成功地繪制出月球表面地圖,獲得了巨大的成功。隨后又對探測飛船發回的近十萬張照片進行更為復雜的圖像處理,以致獲得了月球的地形圖、彩色圖及全景鑲嵌圖,獲得了非凡的成果,為人類登月創舉奠定了堅實的基礎,也推動了數字圖像處理這門學科的誕生。在以后的宇航空間技術,如對火星、土星等星球的探測研究中,數字圖像處理技術都發揮了巨大的作用。數字圖像處理取得的另一個巨大成就是在醫學上獲得的成果。1972年英國EMI公司工程師Housfield發明了用于頭顱診斷的X射線計算機斷層攝影裝置,也就是我們通常所說的CT(ComputerTomograph)。CT的基該方法是根據人的頭部截面的投影,經計算機處理來重建截面圖像,稱為圖像重建。1975年EMI公司又成功研制出全身用的CT裝置,獲得了人體各個部位鮮明清晰的斷層圖像。1979年,這項無損傷診斷技術獲得了諾貝爾獎,說明它對人類作出了劃時代的貢獻。與此同時,圖像處理技術在許多應用領域受到廣泛重視并取得了重大的開拓性成就,屬于這些領域的有航空航天、生物醫學工程、工業檢測、機器人視覺、公安司法、軍事制導、文化藝術等,使圖像處理成為一門引人注目、前景遠大的新型學科。隨著圖像處理技術的深入發展,從70年代中期開始,隨著計算機技術和人工智能、思維科學研究的迅速發展,數字圖像處理向更高、更深層次發展。人們已開始研究如何用計算機系統解釋圖像,實現類似人類視覺系統理解外部世界,這被稱為圖像理解或計算機視覺。很多國家,特別是發達國家投入更多的人力、物力到這項研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的視覺計算理論,這個理論成為計算機視覺領域其后十多年的主導思想。圖像理解雖然在理論方法研究上已取得不小的進展,但它本身是一個比較難的研究領域,存在不少困難,因人類本身對自己的視覺過程還了解甚少,因此計算機視覺是一個有待人們進一步探索的新領域。當前平面媒體、動態廣告等基于圖像數據處理的應用已深入到了人們生活的方方面面。電子相框等高新科技的大力發展也很大程度上依賴于圖像數據提取技術的發展。本課題就是在這樣的背景下進行研究的。本課題的研究對于平面媒體、廣告宣傳、電子相框中的圖像處理有很好的幫助。可以很好的提高圖像的視感質量,如進行圖像的亮度、彩色變換,增強、抑制某些成分,對圖像進行幾何變換等,以改善圖像的質量。可以更好的提取圖像中所包含的某些特征或特殊信息,這些被提取的特征或信息往往為計算機分析圖像提供便利。提取特征或信息的過程是模式識別或計算機視覺的預處理。提取的特征可以包括很多方面,如頻域特征、灰度或顏色特征、邊界特征、區域特征、紋理特征、形狀特征、拓撲特征和關系結構等。可以更好的對圖像進行數據的變換、編碼和壓縮,以便于圖像的存儲和傳輸。總的來說,該課題的研究,具有很強的現實意義。1.2本課題的研究現狀(1)圖像數據處理目前常用方法主要有以下幾個方面:①圖像變換:由于圖像陣列很大,直接在空間域中進行處理,涉及計算量很大。因此,往往采用各種圖像變換的方法,如傅立葉變換、沃爾什變換、離散余弦變換等間接處理技術,將空間域的處理轉換為變換域處理,不僅可減少計算量,而且可獲得更有效的處理(如傅立葉變換可在頻域中進行數字濾波處理)。新興研究的小波變換在時域和頻域中都具有良好的局部化特性,它在圖像處理中也有著廣泛而有效的應用。②圖像編碼壓縮:圖像編碼壓縮技術可減少描述圖像的數據量(即比特數),以便節省圖像傳輸、處理時間和減少所占用的存儲器容量。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進行。編碼是壓縮技術中最重要的方法,它在圖像處理技術中是發展最早且比較成熟的技術。③圖像增強和復原:圖像增強和復原的目的是為了提高圖像的質量,如去除噪聲,提高圖像的清晰度等。圖像增強不考慮圖像降質的原因,突出圖像中所感興趣的部分。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節明顯;如強化低頻分量可減少圖像中噪聲影響。圖像復原要求對圖像降質的原因有一定的了解,一般講應根據降質過程建立“降質模型”,再采用某種濾波方法,恢復或重建原來的圖像。④圖像分割:圖像分割是數字圖像處理中的關鍵技術之一。圖像分割是將圖像中有意義的特征部分提取出來,其有意義的特征有圖像中的邊緣、區域等,這是進一步進行圖像識別、分析和理解的基礎。雖然已研究出不少邊緣提取、區域分割的方法,但還沒有一種普遍適用于各種圖像的有效方法。因此,對圖像分割的研究還在不斷深入之中,是圖像處理中研究的熱點之一。⑤圖像描述:圖像描述是圖像識別和理解的必要前提。作為最簡單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區域描述兩類方法。對于特殊的紋理圖像可采用二維紋理特征描述。隨著圖像處理研究的深入發展,已經開始進行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。⑥圖像分類(識別):圖像分類(識別)屬于模式識別的范疇,其主要內容是圖像經過某些預處理(增強、復原、壓縮)后,進行圖像分割和特征提取,從而進行判決分類。圖像分類常采用經典的模式識別方法,有統計模式分類和句法(結構)模式分類,近年來新發展起來的模糊模式識別和人工神經網絡模式分類在圖像識別中也越來越受到重視。⑵圖像數據處理目前應用的工具可分為三大類:第一類包括各種正交變換和圖像濾波等方法,其共同點是將圖像變換到其它域(如頻域)中進行處理(如濾波)后,再變換到原來的空間(域)中。第二類方法是直接在空間域中處理圖像,它包括各種統計方法、微分方法及其它數學方法。第三類是數學形態學運算,它不同于常用的頻域和空域的方法,是建立在積分幾何和隨機集合論的基礎上的運算。由于被處理圖像的數據量非常大且許多運算在本質上是并行的,所以圖像并行處理結構和圖像并行處理算法也是圖像處理中的主要研究方向。(3)圖像數據處理目前研究方向自20世紀60年代第三代數字計算機問世以后,數字圖像處理技術出現了空前的發展,在該領域中需要進一步研究的問題主要有如下五個方向:①在進一步提高精度的同時著重解決處理速度問題;②加強軟件研究,開發新的處理方法,特別要注意移植和借鑒其他學科的技術和研究成果,創造新的處理方法;③加強邊緣學科的研究工作,促進圖像處理技術的發展;④加強理論研究,逐步形成處理科學自身的理論體系;⑤時刻注意圖像處理領域的標準化問題。⑷圖像數據處理目前研究的特點:①處理信息量很大數字圖像處理的信息大多是二維信息,處理信息量很大。如一幅256×256低分辨率黑白圖像,要求約64kbit的數據量;對高分辨率彩色512×512圖像,則要求768kbit數據量;如果要處理30幀/秒的電視圖像序列,則每秒要求500kbit~22.5Mbit數據量。因此對計算機的計算速度、存儲容量等要求較高。②占用頻帶較寬數字圖像處理占用的頻帶較寬。與語言信息相比,占用的頻帶要大幾個數量級。如電視圖像的帶寬約5.6MHz,而語音帶寬僅為4kHz左右。所以在成像、傳輸、存儲、處理、顯示等各個環節的實現上,技術難度較大,成本亦高,這就對頻帶壓縮技術提出了更高的要求。③各像素相關性大數字圖像中各個像素是不獨立的,其相關性大。在圖像畫面上,經常有很多像素有相同或接近的灰度。就電視畫面而言,同一行中相鄰兩個像素或相鄰兩行間的像素,其相關系數可達0.9以上,而相鄰兩幀之間的相關性比幀內相關性一般說還要大些。因此,圖像處理中信息壓縮的潛力很大。④無法復制全部信息由于圖像是三維景物的二維投影,一幅圖象本身不具備復現三維景物的全部幾何信息的能力,很顯然三維景物背后部分信息在二維圖像畫面上是反映不出來的。因此,要分析和理解三維景物必須作合適的假定或附加新的測量,例如雙目圖像或多視點圖像。在理解三維景物時需要知識導引,這也是人工智能中正在致力解決的知識工程問題。⑤受人的因素影響較大數字圖像處理后的圖像一般是給人觀察和評價的,因此受人的因素影響較大。由于人的視覺系統很復雜,受環境條件、視覺性能、人的情緒愛好以及知識狀況影響很大,作為圖像質量的評價還有待進一步深入的研究。另一方面,計算機視覺是模仿人的視覺,人的感知機理必然影響著計算機視覺的研究。例如,什么是感知的初始基元,基元是如何組成的,局部與全局感知的關系,優先敏感的結構、屬性和時間特征等,這些都是心理學和神經心理學正在著力研究的課題。1.3本文研究內容及章節安排本文主要對圖像像素提取方法進行了研究,并利用VB6.0進行了數據提取軟件的設計。本文分為五章:第一章:首先介紹了本課題的研究背景、意義;研究現狀;研究內容及章節安排。第二章:介紹了數字圖像處理方法及數據提取方法。第三章:對本軟件的設計平臺VB軟件開發平臺及VB語言進行了詳細的介紹。第四章:對該軟件的設計過程進行了具體的介紹。第五章:對數據圖像提取進行了總結和展望2VB軟件開發平臺2.1visualbasic語言VisualBasic是一種由微軟公司開發的包含協助開發環境的事件驅動編程語言。“Visual”指的是采用可視化的開發圖形用戶界面(GUI)的方法,一般不需要編寫大量代碼去描述界面元素的外觀和位置,而只要把需要的控件拖放到屏幕上的相應位置即可;“Basic”指的是BASIC語言,BASIC是英文Beginner’sAllpurposeSymbolicInstructionCode的縮寫,意思為初學者通用符號指令代碼,一直都是程序設計入門的首選語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接數據庫,或者輕松的創建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應用程序。從設計新型的用戶界面到利用其它應用程序的對象;從處理文字圖象到使用數據庫;從開發個人或小組使用的小工具,到大型企業應用系統,甚至通過Internet的遍及全球分布式應用程序,都可在VisualBasic提供的工具中各取所需。VB是微軟公司的一種通用程序設計語言,包含在MicrosoftExcel、MicrosoftAccess等眾多Windows應用軟件種的VBA都使用VB語言,以供用戶二次開發;目前制作網頁使用較多的VBScript腳本語言也是VB的子集。利用VB的數據訪問特性,用戶可以對包括MicrosoftSQLServer和其他企業數據庫在內的大部分數據庫格式創建數據庫和前端應用程序,以及可調整的服務器端部件。利用ActiveX(TM)技術,VB可使用如MicrosoftWord、MicrosoftExcel及其他Windows應用程序提供的功能,甚至可直接使用VB專業版和企業版創建的應用程序對象。它的主要特點有:可視化的設計平臺;面向對象的設計方法;事件驅動的編程機制;結構化的設計語言;友好的VB集成開發環境;具有強大的功能。2.2語言特性VB的中心思想就是要便于程序員使用,無論是新手或者專家。VB使用了可以簡單建立應用程序的GUI系統,但是又可以開發相當復雜的程序。VB的程序是一種基于窗體的可視化組件安排的聯合,并且增加代碼來指定組件的屬性和方法。因為默認的屬性和方法已經有一部分定義在了組件內,所以程序員不用寫多少代碼就可以完成一個簡單的程序。過去的版本里面VB程序的性能問題一直被放在了桌面上,但是隨著計算機速度的飛速增加,關于性能的爭論已經越來越少。窗體控件的增加和改變可以用拖放技術實現。一個排列滿控件的工具箱用來顯示可用控件(比如文本框或者按鈕)。每個控件都有自己的屬性和事件。默認的屬性值會在控件創建的時候提供,但是程序員也可以進行更改。很多的屬性值可以在運行時候隨著用戶的動作和修改進行改動,這樣就形成了一個動態的程序。舉個例子來說:窗體的大小改變事件中加入了可以改變控件位置的代碼,在運行時候每當用戶更改窗口大小,控件也會隨之改變位置。在文本框中的文字改變事件中加入相應的代碼,程序就能夠在文字輸入的時候自動翻譯或者阻止某些字符的輸入。VB的程序可以包含一個或多個窗體,或者是一個主窗體和多個子窗體,類似于操作系統的樣子。有很少功能的對話框窗口(比如沒有最大化和最小化按鈕的窗體)可以用來提供彈出功能。VB使用參數計算的方法來進行垃圾收集,這個方法中包含有大量的對象,提供基本的面向對象支持。因為越來越多組件的出現,程序員可以選用自己需要的擴展庫。和有些語言不一樣,VB對大小寫不敏感,但是能自動轉換關鍵詞到標準的大小寫狀態,以及強制使得符號表入口的實體的變量名稱遵循書寫規則。默認情況下字符串的比較是對大小寫敏感的,但是可以關閉這個功能。VB使得大量的外界控件有了自己的生存空間。大量的第三方控件針對VB提供。VB也提供了建立、使用和重用這些控件的方法,但是由于語言問題,從一個應用程序創建另外一個并不簡單。2.3編碼規則(1)語言元素VB的語言基礎是BASIC語言,VB程序的語言元素主要由:關鍵字(如:Dim、Print、Cls);函數(如:Sin()、Cos()Sqr());表達式(如:Abs(-23.5)+45*20/3);語句(如:X=X+5、IF……ELSE……ENDIF)等組成。(2)VB代碼書寫規則1)程序中不區分字母的大小寫,Ab與AB等效;2)系統對用戶程序代碼進行自動轉換:①對于VB中的關鍵字,首字母被轉換成大寫,其余轉換成小寫;②若關鍵字由多個英文單詞組成,則將每個單詞的首字母轉換成大寫;③對于用戶定義的變量、過程名,以第一次定義的為準,以后輸入的自動轉換成首次定義的形式。(3)語句書寫規則1)在同一行上可以書寫多行語句,語句間用冒號(:)分隔2)單行語句可以分多行書寫,在本行后加續行符:空格和下劃線_3)一行允許多達255個字符(4)程序的注釋方式1)整行注釋一般以Rem開頭,也可以用撇號';2)用撇號'引導的注釋,既可以是整行的,也可以直接放在語句的后面,最方便;3)可以利用“編輯”工具欄的“設置注釋塊”、“解除注釋塊”來將設置多行注釋。(5)保留行號和標號VB源程序接受行號與標號,但不是必須的(早期的BASIC語言中必須用行號)。標號是以字母開始以冒號結束的字符串,一般用在GOTO語句(現在很少用)中。2.4重要常用語句介紹(1)AppActivate語句:激活一應用程序窗口。語法:AppActivatetitle[,wait]AppActivate語句的語法具有以下幾個命名參數:title必需的。字符串表達式,所要激活的應用程序窗口的標題。可以使用Shell函數返回的任務識別碼來替換title,以激活應用程序。wait可選的。Boolean值,說明在激活另一個應用程序之前調用的應用程序是否有焦點。如果為False(缺省),那么,即使調用的應用程序沒有焦點,也直接激活指定的應用程序。如果為True,則調用的應用程序會等到有焦點后,才激活指定的應用程序。說明:AppActivate語句將焦點移動到命名的應用程序或窗口,但并不影響焦點是否最大化或最小化。當用戶采取行動改變焦點或將窗口關閉時,就會將焦點從活動的應用程序窗口移動出去。可用Shell函數啟動一個應用程序并設置窗口樣式。在決定激活哪個應用程序時,請將title與每一個運行中的應用程序的標題字符串進行比較。如果沒有完全匹配,就激活任何這樣的應用程序,其標題字符串以title開頭。如果以title命名的應用程序有很多實例,則激活任何一個實例。(2)Call語句返回:將控制權轉移到一個Sub過程,Function過程,或動態連接庫(DLL)過程。語法:[Call]name[argumentlist]Call語句的語法具有以下幾個部分:Call可選參數;關鍵字。如果指定了這個關鍵字,則argumentlist必須加上括號,例如:CallMyProc(0)name必要參數,要調用的過程名稱。說明:調用一個過程時,并不一定要使用Call關鍵字。如果使用Call關鍵字來調用一個需要參數的過程,argumentlist就必須要加上括號。如果省略了Call關鍵字,那么也必須要省略argumentlis外面的括號。如果使用Call語法來調用內建函數或用戶定義函數,則函數的返回值將被丟棄。若要將整個數組傳給一個過程,使用數組名,然后在數組名后加上空括號。(3)Close語句返回:關閉Open語句所打開的輸入/輸出(I/O)文件。語法:Close[filenumberlist]可選的filenumberlist參數為一個或多個文件號,其中filenumber為任何有效的文件號,語法如下:[[#]filenumber][,[#]filenumber]...說明:若省略filenumberlist,則將關閉Open語句打開的所有活動文件。當關閉Output或Append打開的文件時,將屬于此文件的最終輸出緩沖區寫入操作系統緩沖區。所有與該文件相關聯的緩沖區空間都被釋放。在執行Close語句時,文件與其文件號之間的關聯將終結。(4)Const語句返回:聲明用于代替文字量的常數。語法:[Public|Private]Constconstname[Astype]=expressionConst語句的語法包含下面部分:Public可選的。該關鍵字用于在模塊級別中聲明在所有模塊中對所有過程都可以使用的常數。在過程中不能使用。Private可選的。該關鍵字用于在模塊級聲明只能在包含該聲明的模塊中使用的常數。不能在過程中使用。constname必需的。常數的名稱;遵循標準的變量命名約定。type可選的。常數的數據類型;可以是Byte、布爾、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String或Variant。所聲明的每個變量都要使用一個單獨的As類型子句。expression必需的。文字,其它常數,或由除Is之外的任意的算術操作符和邏輯操作符所構成的任意組合。說明:在缺省情況下常數是私有的。過程中的常數總是私有的;它們的可見性無法改變。在標準模塊中,可以用Public關鍵字來改變模塊級常數可見性的缺省值。不過,在類模塊中,常數只能是私有的,而且用Public關鍵字也不能改變其可見性。為了在一行中聲明若干個常數,可以使用逗號將每個常數賦值分開。用這種方法聲明常數時,如果使用了Public或Private關鍵字,則該關鍵字對該行中所有常數都有效。在給常量賦值的表達式中,不能使用變量,用戶自定義的函數,或VisualBasic的內部函數(如Chr)。注意常數可以使程序更具可讀性,以及易于修改。在程序運行時,常數不會象變量那樣無意中被改變。如果在聲明常數時沒有顯式地使用Astype子句,則該常數的數據類型是最適合其表達式的數據類型。在Sub、Function或Property過程中聲明的常數都是該過程的局部常數。在過程外聲明的常數,在包含該聲明的模塊中被定義。在可以使用表達式的地方,都可以使用常數(5)dim:聲明變量并分配存儲空間。語法:Dim[WithEvents]varname[([subscripts])][As[New]type][,[WithEvents]varname[([subscripts])][As[New]type]]...Dim語句的語法包含下面部分:WithEvents可選的。關鍵字,說明varname是一個用來響應由ActiveX對象觸發的事件的對象變量。只有在類模塊中才是合法的。使用WithEvents,可以聲明任意個所需的單變量,但不能使用WithEvents創建數組。New和WithEvents不能一起使用。varname必需的。變量的名稱;遵循標準的變量命名約定。subscripts可選的。數組變量的維數;最多可以定義60維的多維數組。subscripts參數使用下面的語法:[lowerTo]upper[,[lowerTo]upper]...如果不顯式指定lower,則數組的下界由OptionBase語句控制。如果沒有使用OptionBase語句,則下界為0。New可選的。可隱式地創建對象的關鍵字。如果使用New來聲明對象變量,則在第一次引用該變量時將新建該對象的實例,因此不必使用Set語句來給該對象引用賦值。New關鍵字不能聲明任何內部數據類型的變量,以及從屬對象的實例,也不能與WithEvents一起使用。type可選的。變量的數據類型;可以是Byte、布爾、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(對變長的字符串)、String*length(對定長的字符串)、Object、Variant、用戶定義類型、或對象類型。所聲明的每個變量都要一個單獨的Astype子句。說明:在模塊級別中用Dim聲明的變量,對該模塊中的所有過程都是可用的。在過程級別中聲明的變量,只在過程內是可用的。可以使用Dim語句在模塊級或過程級中聲明變量的數據類型。例如,下面的語句聲明了Integer類型的變量。DimNumberOfEmployeesAsInteger也可以使用Dim語句來聲明變量的對象類型。下面的語句為工作表的新建實例聲明了一個變量。DimXAsNewWorksheet如果定義對象變量時沒有使用New關鍵字,則在使用該變量之前,必須使用Set語句將該引用對象的變量賦值為一個已有對象。在該變量被賦值之前,所聲明的對象變量有一個特定值Nothing,這個值表示該變量沒有指向任一個對象實例。也可以使用帶空圓括號的Dim語句來定義動態數組。在定義動態數組后,可以在過程內使用ReDim語句來定義該數組的維數和元素。如果試圖在Private,Public或Dim語句中重新定義一個已顯式定義了大小的數組的維數時,就會發生錯誤。如果不指定數據類型或對象類型,且在模塊中沒有Deftype語句,則該變量按缺省設置是Variant類型。當初始化變量時,數值變量被初始化為0,變長的字符串被初始化為一個零長度的字符串(""),而定長的字符串則用0填充。Variant變量被初始化為Empty。用戶自定義類型的變量的每個元素作為各自獨立的變量進行初始化。注意:當在過程中使用Dim語句時,通常將Dim語句放在過程的開始處。2.5程序設計基本步驟VB程序設計的基本步驟:(1)分析問題,設計算法;(2)建立用戶界面的對象;(3)對象屬性的設置;(4)對象事件過程及編程;(5)保存程序;(6)程序調試和運行;(7)生成可執行文件;(8)發行程序,及生成安裝程序。2.6VB軟件開發平臺1991年,微軟公司推出了VisualBasic1.0。當時引起了很大的轟動。這個連接編程語言和用戶界面的進步被稱為Tripod(有些時候叫做Ruby),最初的設計是由阿蘭·庫珀(AlanCooper)完成的。許多專家把VB的出現當做是軟件開發史上的一個具有劃時代意義的事件。在當時,它是第一個“可視”的編程軟件。這使得程序員欣喜之極,都嘗試在VB的平臺上進行軟件創作。微軟也不失時機地在四年內接連推出2.0、3.0、4.0三個版本。并且從VB3.0開始,微軟將Access的數據庫驅動集成到了VB中,這使得VB的數據庫編程能力大大提高。從VB4.0開始,VB也引入了面向對象的程序設計思想。VB功能強大,學習簡單。而且,VB還引入了“控件”的概念,使得大量已經編好的VB程序可以被我們直接拿來使用。2002年開始,微軟將.NETFramework與VisualBasic結合而成為VisualBasic.NET(),重新打造VB,新增許多特性及語法,又將VB推向一個新的高度。最新版本VisualBasic2012也將帶來許多令人期待的新功能。通過幾年的發展,它已成為一種專業化的開發語言和環境。用戶可用VisualBasic快速創建Windows程序,并可編寫企業水平的客戶端/服務器程序及強大的數據庫應用程序。2.7VB6.0平臺上的常用控件(1)命令按鈕類的控件:屬性:1)Caption屬性:用來顯示在控件上的標題。2)Enable屬性:控制控件的激活狀態灰色或可用。3)Appearance屬性:值為1時,則以3D效果顯示該控件,0則不然。4)Backcolor屬性:用來改變在按鈕上顯示圖像的背景色。5)Cancel屬性:該屬性決定按鈕是否為一個”取消”按鈕。6)Default屬性:決定哪一個命令按鈕控件是窗體的缺省命令按鈕.7)Font屬性:控制各種文字字體類型.8)Left,top,height,width屬性:設定控件的位置與大小.9)Style,picture屬性:決定按鈕的顯示方式是否為圖像形式出現.10)Visible屬性:確定控件運行時是否為可見.11)Index屬性:當控件為一控件數組時,此屬性值為該控件在數組的下標值.12)DownPicture屬性:設置/返回一個對圖片的引用,該圖片在按鈕被單擊處于壓下狀態時顯示。13)DisabledPicture屬性:設置/返回一個對圖片的引用,該圖片在控件無效時顯示在控件中。14)MaskColor屬性:設置/返回一個在按鈕的圖片中作為“掩碼“的的顏色15)Picture屬性:設置返回commandButton控件中要顯示的圖片。事件:1)單擊事件――Click事件①觸發與適用此事件是在一個命令按鈕對象上按下然后釋放一個鼠標按鈕時發生。命令按鈕的Click事件僅對當單擊鼠標時發生。②事件處理過程按鈕單擊事件的處理過程為:PrivateSubobject-Click(IndexAsInteger)其中Object為引發該事件的對象名稱。如果是命令按鈕的控件是數組,則需要使用Index參數標識該控件。2)獲得焦點――GotFocus事件①觸發與適用當命令按鈕獲得焦點產生該事件,獲得焦點可以通過諸如Tab切換或單擊對象之類的用戶動作,或在代碼中用SetFocus方法改變焦點來實現。②事件處理過程命令按鈕GotFoucs事件處理過程為:PrivateSubObject-GotFocus(IndexAsInteger)3)LostFocus事件:當一個對象失去焦點時發生4)KeyDown事件:當命令按鈕具有焦點時按下一個鍵時發生5)KeyUp事件:當命令按鈕具有焦點時釋放一個鍵時發生。6)KeyPress事件:當用戶按下或松開一個ANSI鍵時發生。7)MouseDown事件:當在命令按鈕上按下鼠標按鈕時發生。8)MouseMove事件:當命令按鈕上移動鼠標時發生。9)MouseUp事件:當在命令按鈕上釋放鼠標按鈕時發生。(2)文本框類的控件:屬性:1)Text屬性:通過像text屬性賦值的方法來改變該屬性的值。2)Maxlength屬性:該屬性設定在文本框控件中能夠輸入的最大字符數。3)Multline屬性:該屬性設定text字符串中是否接受換行符。4)Scrollbars屬性:該屬性決定是否為文本框加滾動條。5)Passwordchar屬性:該屬性設定輸入文本的特殊顯示字符,在設計密碼程序時非常有用。6)Change事件屬性:文本框的內容發生改變時,相應的控件之間發生相應的改變,具有即時性。7)Keypress:事件由用戶在文本框控件中按任意鍵觸發。8)Alignment屬性:設定控件中的文本對其方式9)Appearance屬性:設定一個對象在運行時是否可以3D效果顯示。10)BackColor屬性:設置返回背景色11)BorderStyle屬性:設置對象的邊框樣式12)DataField屬性:設定數據使用者將被綁定到的字段名13)DataFormat屬性:設定DataFormat對象,用于數據綁定14)DataMember屬性:從數據供應程序提供的幾個數據成員中返回/設定一個特定的數據成員15)DataSource屬性:設定控件綁定的一個數據源16)DragIcon屬性:設定圖標,它將在拖放操作中作為指針顯示17)DragMode模式:設定一個值,確定在拖放操作中所用方式事件:1)Change事件:當改變文本框內容時發生2)Click事件:鼠標單擊控件時發生3)DblClick事件:用鼠標左鍵雙擊控件時發生4)DragDrop事件:在一個完整的拖放動作完成或使用Drag方法,并將其Action參數設置為2時發生5)DragOver事件:在拖放操作正在進行時發生6)GotFocus事件:當一個命令按鈕獲得焦點時發生7)LinkClose事件:當一個DDE對話結束時發生8)LinkError事件:當一個DDE對話框過程中出現錯誤時,該事件發生9)KeyDown事件:當命令按鈕具有焦點時按下一個鍵時發生10)Validate事件:在焦點轉換到另一個控件之前發生,此時該控件的CausesValidation屬性值設置為True(3)單選按鈕類的控件:屬性:1)Caption屬性:顯示在控件上的文本,是單選按鈕的標題。2)Alignment屬性:決定單選按鈕的標題在控件上的位置。3)Enable屬性:該控件為灰色時為false,表示運行時不可用。4)Index屬性:屬性值表示為單選按鈕組成的控件中某個按鈕的索引值。5)Tabindex屬性:建立控件時,vb自動為其分配一個tabindex值,利用tab鍵可以在控件之間切換焦點。6)Value屬性:反映控件狀態的屬性,返回true表示已選擇了該按鈕。7)Appearance屬性:設置/返回一個對象在運行時是否以3D效果顯示。8)BackColor屬性:設置/返回背景色。9)Container屬性:設置/返回Form上的控件屬性。10)DataField屬性:設置/返回數據使用者將被綁定到的字段名。11)DataFormat屬性:設置/返回DataFormat對象,一個綁定對象將附加到它。12)DisabledPicture屬性:設置/返回一個對圖像的引用,該圖片在控件無效時顯示在控件中。13)DownPicture屬性:設置/返回一個對圖片的引用,該圖片在控件單擊下處于壓下狀態時顯示。事件:1)Click事件:鼠標單擊控件時發生。2)DbClick事件:當在一個對象上按下和釋放鼠標按鈕并再次按下和釋放按鈕時,該事件發生。3)DragDrop事件:在一個完整的拖放動作或使用Drag方法,并將其Action參數設置位2時,該事件發生。4)DragOver事件:在拖放操作正在進行時發生。5)GotFocus事件:當獲的對象焦點時發生。6)LostFocus事件:當對象失去焦點時發生。7)KeyDown事件:當控件具有焦點時按下一個鍵時發生。8)KeyUp事件:當控件具有焦點時釋放一個鍵時發生。9)KeyPress事件:當用戶按下或釋放ANSI一個鍵時發生。10)MouseDown事件:當在控件上按下鼠標鍵時發生。11)MouseMove事件:在控件上移動鼠標時發生。12)MouseUp事件:在控件上釋放鼠標時發生。(4)框架類的控件:屬性:1)List屬性:列表框控件的表項是使用數組的方式保存,數組的每一個元素存儲列表控件的一個表項2)Listcount屬性:控件列表部分項目的個數。3)Mutselect屬性:可以設置列表框為單選或允許多選屬性.4)Selectd屬性:標示一個數組,數組各元素為:Selected(0),selected(1)…(5)滾動條類的控件:屬性:1)Value屬性:滾動條上滑塊所在位置由value值所決定。2)Max和min屬性:對value值的最大,最小進行限制。3)Largechange屬性:用戶點擊滾動條與鍵頭之間的區域時,value的改變量。4)OnClick事件:用來添加按鈕的單擊事件所執行的程序代碼。(6)定時器類類的控件:屬性:1)Interval屬性:表示定時的時間間隔,以毫秒為單位。2)Enable屬性:為true時(缺省值),激活定時器開始計時;為false時處于休眠狀態.3圖像數據提取常用方法3.1像素點的顏色組成在電腦或者電視上能看到色彩斑斕的圖像,其實這些圖像都是由一個一個像素點構成的。不管是彩色還是黑白圖像,除了描述每個像素所在的行和列外,還必須描述其顏色值.在一個有256級灰度的黑白圖像中,每個像素顏色只需用1個字節表示;而在彩色圖像中,每個像素都是由紅、綠、藍3基色調和而成,所以一個像素就需要用多個字節來表示.如果給彩色圖像的每個像素的顏色信息分配3個字節,每個顏色分量用1個字節來表示,那么每個顏色分量就有256級,可以表示的顏色就有“256×256×256”種.如果需要對圖像進行柔化、擴散等處理,就必須獲得圖像的每個像素以便進行相應地處理。在內存中,每個像素點由4字節構成,這4個字節的代表的含義如下:(1)第一個字節決定像素的紅色值(2)第二個字節決定像素的綠色值(3)第三個字節決定像素的藍色值(4)第四個字節決定像素的透明度值。上述每一個字節的取值是從0到255,比如(255,0,0,255),在內存中是用二進制表示,即它是一個32位的串:11111111000000000000000011111111其中:0代表完全透明,255代表完全不透明。圖1.1圖1.13.2圖片數據提取常用方法方法1)利用圖片框的Point方法.圖片框提供了Point方法可以獲得圖像每個像素的顏色值,具體格式為:pix=圖片框對象.Point(x,y)其中,x和y表示每個像素的位置,pix可以獲得對應位置的顏色值.在窗體上放2個圖片框,分別是picture1和picture2,將其ScaleMode屬性設置為pixel.在pic2ture1中放上要處理的原圖[11],在picture2中顯示處理后的效果.由于需要保存每個像素的顏色值,而每個顏色又由3種基色組合而成,所以需要定義一個三維數組tx保存每個位置上的3個顏色分量的值.比如用tx(0,i,j)保存對應位置的紅色分量值,tx(1,i,j)和tx(2,i,j)分別保存對應位置的綠色分量和藍色分量的值.方法2)使用DIB方法.利用上面的Point方法雖然可以讀取圖像的像素值,卻很慢.在VB中快速獲取圖像像素的方法是使用DIB方法.DIBDevice2IndependentBitmap的簡稱,提供了對圖像處理的一種方法.仍將圖片放在圖片框Picture1中,將其Auto2Size屬性設置為True,ScaleMode屬性設置為pixel,將顯示器調到32位色.同樣,若將每個像素的信息保存在tx數組中,對于32位圖像,每個像素需分配4個字節,通過圖片框的ScaleWidth和ScaleHeight屬性可以知道圖像的水平像素個數w為Picture1.ScaleWidth+1個,垂直像素個數h為Picture1.ScaleHeight+1,所以可以定義數組tx(3,w-1,h-1).利用DIB方法獲得圖像的像素,需要利用API函數GetDIBits和描述BMP圖片信息的數據結構.3.3數字圖像處理常用方法數字圖像處理是近年來電子、通訊和計算機等領域的熱門研究領域,其在科研、經濟、軍事、娛樂等等國計民生的各個領域都具有非常廣闊的應用前景。數字圖像處理處是一門交叉學科,涉及數學、計算機、電子、通訊、物理等等眾多的基礎和應用學科。數字圖像處理的研究范圍也非常寬泛,包括圖像增強、圖像復原、數學形態學、圖像分析、圖像編解碼、模式識別、視頻圖像處理等等眾多分支領域。從本質上看,圖像是大量信息的集合,是人們獲取信息的最主要來源。但通常情況下,直接獲取的圖像并不能被人們所用,需要采取一定的手段進行處理,而計算機技術的發展則給圖像處理提供了有效手段。計算機處理的圖像是數字化的圖像,數字圖像的實質是由量化的采樣數值組成的二維矩陣。一幅數字圖像由許多劃分為不同像素元素的區域組成,其中每一個像素都具有兩個不同的屬性:位置和灰度。通過對圖像的所有像素點進行量化表示后,一幅圖像就被表示成一個數字矩陣,能夠被計算機處理,不同的處理方法和技術就形成了數字圖像處理技術雖然很難準確界定數字圖像處理的定義,但一般可以這樣描述數字圖像處理的概念,指為了某種目的,利用計算機或者其他處理硬件,對獲取的數字化圖像按照某種處理方法和技術進行變換,而得到圖像的另一種表現形式。數字圖像處理的本質就是從圖像到圖像的變換,通常其目的在于準確獲取圖像中包含的特定信息,提高圖像的實用性。通常所說的圖像處理技術就是指利用計算機對圖像進行處理的技術,主要包含色度處理、亮度處理以及圖像的平滑、銳化、去噪等方面的內容。綜合來看,數字圖像處理具有兩個方面的特點:首先,數字圖像通常信息量較大。對于普通一幅數字圖像,可以看成是由許多的像素組成的,通常為了保證精度,每個像素的灰度值至少要采用8bit,對于精度要求較高的場合,要達到l2bit、16bit或24bit以上。因此,僅僅對于尺寸為1024×1024的八位圖像,其大小就達到1024×1024=1MB,數字圖像包含如此多的數據量給計算機存儲、傳輸和處理都帶來負擔。其次,數字圖像處理技術綜合性強。在數字圖像的處理過程中,需要涉及非常多的基礎理論知識,尤其許多相關的邊緣學科知識對數字圖像的處理有很大的影響。即使對于計算機圖像處理領域,在圖像處理過程中也涉及大量軟件、硬件、網絡傳輸、數據接口等多項技術。早期的發展中,對于圖像處理的主要目的是為了改善圖像的視覺質量。上世紀七十年代以來,隨著計算機技術和人工智能等領域快速發展,數字圖像的處理開始更高的層次發展。上世紀九十年代以后,小波理論迅速發展,并被認為是信號處理與圖像分析領域中的有效方法。迄今為止,隨著計算機科學技術的迅猛發展和相關算法及理論的不斷完善,數字圖像處理技術已經有了重大的發展,成為較有前景的新型學科。當前,圖像處理領域的發展趨勢是計算機數字圖像處理。圖像的數字處理是指將獲取的模擬格式的圖像轉變成數字圖像,根據應用需求,在建立的特定的物理和數學模型上對圖像進行特定的處理,實現應用需求。根據圖像處理的層次和研究方法,對數字圖像分析和處理的研究可以分為3個方面:圖像處理、圖像分析和圖像理解其中,圖像處理主要指對圖像進行各種加工以改善圖像的效果,為后續的圖像識別和理解奠定基礎。圖像處理的主要目的是消除圖像噪聲、增強圖像信息、消除非均勻性和改善圖像質量等。隨著技術的進步和應用領域的拓展,對圖像處理技術的要求也越來越高,計算機技術和先進的數學理論開始廣泛應用于圖像處理。圖像處理重點包括圖像輸入和圖像預處理兩個部分。圖像的預處理是圖像分析和處理的基礎,對于后續的圖像分割和目標識別等步驟有重要意義。其中非均勻性校正和圖像增強是圖像預處理技術的兩個重要方向。非均勻性校正就是對圖像象素作修正,使整幅圖像表現均勻。圖像增強是指對圖像的某些特征,如邊緣、輪廓、對比度等進行強調或突顯,圖像增強的結果能加強對特定信息的識別能力,使圖像中感興趣的特征得以加強,從而使這些特征的檢測和識別變得更加容易。實際上,不同的圖像增強算法圖像處理的側重點也各不相同,一種算法一般只能解決圖像中的某一類問題。為了增強圖像的整體視覺效果,可以考慮將各種圖像增強方法進行融合,實現對圖像的綜合處理。圖像分析也可以稱為圖像識別,主要是對圖像中感興趣的目標進行檢測和測量,以獲得它們的客觀信息,從而建立對圖像的描述。圖像識別技術的實現除了要應用圖像的相關方法,還涉及到模式識別、計算機視覺和統計學習理論。圖像的自動識別有兩個研究方向:第一是利用提取目標特征自動識別目標的研究;第二是利用前視模板匹配自動識別目標的研究。對識別算法的開發可歸納為兩類:一類是基于目標特征提取的識別方法,如人工神經網絡技術、支持向量機算法;另一類是基于目標模板匹配的方法。圖像理解的重點是在圖像分析和識別的基礎上進一步研究圖像中各個目標的性質和它們之間的相互聯系,得出對圖像內容含義的理解以及對原始成像客觀場景的解釋,從而指導和規劃行動。4軟件設計與實現4.1需求分析該軟件主要功能是要打開一張圖片并提取其像素值。因此軟件功能可分為兩方面:打開一張圖片;提取像素值。利用Vb打開一張圖片的方法主要有兩種:一種是添加picturebox或image控件,利用loadpicture載入一張圖片。但該方法的缺點是,每次打開圖片前必須修改程序或屬性里的picture值,特別不方便,所以我選擇用OPEN對話框來打開圖片。因為所打開的圖片的大小不一,而軟件的界面又是一定的,所以選擇了添加水平滾動條hscrollbar控件和垂直滾動條vscrollbar控件。方便瀏覽各種尺寸的圖片大小。添加了label控件,方便查看圖片中任意點的像素值大小及RGB值。添加按鈕,控制打開、退出、讀取像素等操作。對按鈕及圖片進行編碼。循環讀取圖片中每一點的像素值,并利用Open"F:\圖片像素.txt"ForAppendAs#1在F盤中創建圖片像素.txt文件,并將圖片的像素值保存在文件里。4.2界面設計(1)創建工程并在該工程中新建一個Form,其屬性值如下:名稱=frmduquCaption=圖片像素提取軟件Backcolor調為淡綠圖4.1創建工程圖圖圖4.1創建工程圖圖4.1(2)在窗體上添加一個picturebox控件,其屬性值為:名稱=picture1Backcolor調為淡綠圖圖4.2添加picturebox控件圖(3)在picture1控件上添加一個picturebox控件,其屬性值為:名稱=picture2Autosize=truePicture2.ScaleMode=3-PixelPicture=畢業設計.jpg圖4圖4.3添加picturebox控件圖(4)在窗體上添加一個水平滾動條hscrollbar控件,命名為“Hscroll1”,一個垂直滾動條vscrollbar控件,命名為“vscroll1”圖圖4.4添加滾動條圖(5)在窗體上添加一個commonDialog控件,其屬性值為:名稱:commondialog1Filter=*.jpg|*.jpg|*.gif|*.gif|*.bmp|*.bmp圖圖4.5添加對話框圖(6)在窗體上添加三個按鈕,分別命名為“cmdopen”、“cmduqu”、“cmdexit”其caption屬性值為:“打開”、“讀取像素并保存”、“退出”。圖圖4.6添加按鈕圖(7)在窗體上添加label控件,其屬性值為:Caption=讀取某點像素值圖圖4.7添加label控件圖設計完成的界面:圖圖4.8設計完成的界面圖4.3程序設計(1)在Form的通用聲明中添加一個名為compare的子程序,該子程序的作用是用來比較圖片與圖片框的大小。當圖片高度(寬度)小于圖片框高度(寬度)時,使圖片居中。當圖片寬度(高度)大于圖片框的時,令滾動條有效。代碼如下:PublicSubcompare()IfPicture2.Height<=Picture1.HeightThen'當圖片高度小于圖片框高度VScroll1.Enabled=False'使垂直滾動條不響應鼠標時間Picture2.Top=(Picture1.Height-Picture2.Height)/2'使圖片垂直居中Else'當圖片高度大于圖片框高度VScroll1.Enabled=True'使垂直滾動條響應鼠標時間Picture2.Top=0VScroll1.Max=Picture2.Height-Picture1.Height'設置滾動最大值EndIfIfPicture2.Width<=Picture1.WidthThen'比較圖片和圖片框的寬度HScroll1.Enabled=FalsePicture2.Left=(Picture1.Width-Picture2.Width)/2ElseHScroll1.Enabled=TruePicture2.Left=0HScroll1.Max=Picture2.Width-Picture1.WidthEndIfEndSub圖圖4.9添加compare程序圖(2)在form的resize事件中添加如下代碼:PrivateSubForm_Resize()'改變窗體大小,調整各控件的位置Picture1.Width=Frmbysj.ScaleWidth-1800Picture1.Top=0Picture1.Height=Frmbysj.ScaleHeight-HScroll1.HeightHScroll1.Width=Picture1.WidthHScroll1.Top=Picture1.HeightVScroll1.Height=Picture1.HeightVScroll1.Left=Picture1.Width+Picture1.LeftVScroll1.Top=0Cmdopen.Top=Frmbysj.ScaleHeight-3200Label1.Top=Frmbysj.ScaleHeight-2600Cmdduqu.Top=Frmbysj.ScaleHeight-1300cmdexit.Top=Frmbysj.ScaleHeight-700Cmdopen.Left=Picture1.Left+Picture1.Width+500cmdexit.Left=Picture1.Left+Picture1.Width+500Label1.Left=Picture1.Left+Picture1.Width+500Cmdduqu.Left=Picture1.Left+Picture1.Width+500compareEndSub圖圖4.10resize事件中添加程序圖(3)在hscroll1控件的chang事件中添加如下代碼:PrivateSubHScroll1_Change()Picture2.Left=-HScroll1.Value'水平滾動條發生變化時,使圖相框向相反的方向移動EndSub(4)在hscroll1控件的scroll事件中添加如下代碼:PrivateSubHScroll1_Scroll()Picture2.Left=-HScroll1.ValueEndSub圖圖4.11滾動條編碼圖(5)在vscroll1控件的change事件中添加如下代碼:PrivateSubVScroll1_Change()Picture2.Top=-VScroll1.Value'垂直滾動條發生變化時,使圖相框向相反的方向移動EndSub(6)在vscroll1控件的scroll事件中添加如下代碼:PrivateSubVScroll1_Scroll()Picture2.Top=-VScroll1.ValueEndSub圖4.12圖4.12滾動條編碼圖(7)在cmdopen控件的click事件中添加代碼,實現打開圖片。調用compare函數,比較圖片與圖片框大小,使圖片保留原來的大小。代碼如下:PrivateSubCmdopen_Click()OnErrorGoToerrorCommonDialog1.ShowOpenIfCommonDialog1.FileName<>""ThenPicture2.Picture=LoadPicture(CommonDialog1.FileName)'讓選擇的圖片文件賦予picture2VScroll1.Value=0HScroll1.Value=0Compare'比較圖片與圖片框的大小EndIferror:EndSub圖圖4.13打開按鈕編碼圖(8)在cmdexit控件的click事件中添加如下代碼:PrivateSubCmdexit_Click()UnloadMeEndEndSub(9)在cmdduqu控件的click事件中添加如下代碼實現讀取像素功能。利用For循環,挨個讀取圖片上的每一點的像素值。并將每個點的像素值分別與&HFF,&HFFOO,&HFF0000進行位與讀取出每個點的R、G、B值。代碼如下:PrivateSubCmdduqu_Click()DimcAsString,xAsInteger,yAsIntegerc=""Me.Caption="正在讀取像素中..."Forx=1ToPicture2.ScaleWidthFory=1ToPicture2.ScaleHeightc=c&strRGB(Picture2.Point(x-1,y-1))&""'讀取每個像素的十六進制顏色值Nextc=c&vbCrLfNextOpen"F:\圖片像素.txt"ForAppendAs#1Print#1,cClose#1Me.Caption="圖片像素提取軟件"EndSubPrivateFunctionstrRGB(ByValcolorAsLong)AsString'顏色值轉RGB格式的字符串DimrAsInteger,gAsInteger,bAsIntegerr=(colorAnd&HFF)Mod256g=((colorAnd&HFF00)\&H100)Mod256b=((colorAnd&HFF0000)\&H10000)Mod256strRGB="RGB("&b&","&g&","&r&")"EndFunction圖圖4.14讀取像素按鈕編碼圖(10)在picture2控件的mousedown中添加如下代碼:PrivateSubLabel1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)DimSeAsLong,RAsLong,GAsLong,BAsLongSe=Picture2.Point(X,Y)'獲得像素點x,y的顏色CallGetRGB(Se,R,G,B)'將顏色值Se分解為紅、綠、藍Label1.Caption="當前像素點"&X&","&Y&"的顏色(紅綠藍):"&R&","&G&","&BEndSubPrivateSubGetRGB(ByValSeAsLong,RAsLong,GAsLong,BAsLong)B=Se\65536:Se=SeMod65536G=Se\256:R=SeMod256B=BMod256EndSub圖4.15讀取某點像素編碼圖圖4.15讀取某點像素編碼圖4.4運行界面運行界面圖圖4.16運行界面圖(2)打開圖片界面圖圖4.17打開圖片界面圖(3)讀取某點像素界面圖圖4.18讀取某點像素界面圖(4)讀取像素界面圖圖4.19讀取像素界面圖保存文件界面圖圖4.20保存文件界面圖5總結展望本課題主要對數字圖像處理過程中的最基本環節圖片像素提取進行了初步研究。并利用VB工作平臺實現這些技術,達到提取像素的功能。當然,圖像處理技術的內容還是很深很廣的,我只是簡單的了解了其中一點而已,因此更應進行深入的研究與探討。自己制作的軟件也存在著一定的不足,比較大的圖片有時運行的不是很好。API函數也有待于更深入的學習。本軟件是嚴格按照軟件工程的思想逐步完成,因此也讓我體會到做一個軟件的真正艱辛。在一些論壇及
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件測試工程師發展歷程分析試題及答案
- 網絡安全漏洞類型與應對措施試題及答案
- 行政組織理論與組織行為學試題及答案
- 公司資金費用管理制度
- 公司員工購車管理制度
- 基金服務質量管理制度
- 公司外出會議管理制度
- 廣通蠶種公司管理制度
- 勞務派遣信用管理制度
- 基層班子資金管理制度
- 如何培養和提升大學生的國防意識(通用5篇)
- 老年社會保障總結課件
- 三級動火證 模板
- 評語大全之國家自然科學基金評語
- 電瓶車每月檢查表
- 獸藥監管法規解讀課件
- 外貿業務員KPI考核量表
- 案例onyx使用內容
- 四川音樂學院綿陽藝術學院科研量化管理暫行辦法
- 常用動火作業風險告知卡(可編輯)
- 計算機技術碩士專業學位授權點申報研究演示課件(PPT 39頁)
評論
0/150
提交評論