圖像處理及制版原理 第三章第四節(jié)_第1頁
圖像處理及制版原理 第三章第四節(jié)_第2頁
圖像處理及制版原理 第三章第四節(jié)_第3頁
圖像處理及制版原理 第三章第四節(jié)_第4頁
圖像處理及制版原理 第三章第四節(jié)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、圖像階調(diào)分布直方圖及其VB編程統(tǒng)計(jì)第3章 第4節(jié)圖像階調(diào)分布直方圖一、圖像階調(diào)分布的概念: 圖像的階調(diào)分布是 圖像中明暗深淺不同的不同階調(diào)在圖像中所占據(jù)面積的大小或面積比例。 圖像的階調(diào)分布不同,則圖像的外觀有差異。 圖像階調(diào)分布直方圖二、階調(diào)分布直方圖: 圖像不同階調(diào)在圖像中所占據(jù)面積大小或面積比例 與 圖像階調(diào)值之間的關(guān)系圖, 一般用高度不同的柱狀矩形 表示面積或面積比率。 圖像階調(diào)分布直方圖二、階調(diào)分布直方圖: 階調(diào)值所占圖像的面積或面積比率圖像階調(diào)分布直方圖二、階調(diào)分布直方圖: 階調(diào)值所占圖像的面積或面積比率 圖像階調(diào)分布直方圖三、階調(diào)分布直方圖的計(jì)算: 對數(shù)字圖像,其階調(diào)值范圍分為有

2、限個等級,如:256級、65536級等; 因此,可以統(tǒng)計(jì)圖像中屬于各個灰度級的像素?cái)?shù)有多少個,再分別除以總像素?cái)?shù),即可得到每個灰度級在圖像中占的面積比例。圖像階調(diào)分布直方圖三、階調(diào)分布直方圖的計(jì)算: 計(jì)算方法是: 假設(shè):圖像的總像素?cái)?shù)為N0, 共有G0個灰度級, 對各灰度級的像素?cái)?shù)Nj進(jìn)行統(tǒng)計(jì): ( j=0,G0 1 )圖像階調(diào)分布直方圖三、階調(diào)分布直方圖的計(jì)算: 遍歷每個像素( i=1,N0 ) : (每個像素做一遍 ) : 對該像素的灰度級進(jìn)行判別, 如果第Ni個像素的灰度級與某灰度等級相等: G(Ni)=G(j) ( j=0,G0 1 ) 則:該灰度級的像素?cái)?shù)+1 NG(j) +1圖像階

3、調(diào)分布直方圖三、階調(diào)分布直方圖的計(jì)算: 舉例: 灰度級灰度級像素?cái)?shù)像素?cái)?shù)02110232253282545025561每個像素都具有每個像素都具有某個灰度等級某個灰度等級統(tǒng)計(jì)表統(tǒng)計(jì)表離散數(shù)字圖像離散數(shù)字圖像圖像階調(diào)分布直方圖三、階調(diào)分布直方圖的計(jì)算: 判別、統(tǒng)計(jì)完畢,獲得的結(jié)果: 圖像中屬于各灰度級的像素?cái)?shù) NG(j) ( j=0,G0 1) 最后,計(jì)算比例: P(j) = NG(j) / N0圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)一、數(shù)字圖像內(nèi)部的像素?cái)?shù)據(jù)存放方式: 圖像文件有多種存儲格式, 如:TIF、BMP、JPG等。 存儲圖像像素?cái)?shù)據(jù)的格式各不相同。 為了簡便,我們只利用Photoshop的 R

4、AW文件進(jìn)行圖像數(shù)據(jù)的存儲, 避免解析文件頭、標(biāo)記等。圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)一、數(shù)字圖像內(nèi)部的像素?cái)?shù)據(jù)存放方式: RAW文件內(nèi)僅包含圖像像素?cái)?shù)據(jù)本身, 沒有其他任何數(shù)據(jù)。 其中,像素?cái)?shù)據(jù)的存儲方式是: 按照: 從上到下、從左到右從上到下、從左到右的排列順序, 逐個存儲圖像像素?cái)?shù)據(jù)。圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)一、數(shù)字圖像內(nèi)部的像素?cái)?shù)據(jù)存放方式: 如果是“灰度”圖像,則按上述順序存儲像素,每個像素占用1個字節(jié)或2個字節(jié)。128文件數(shù)據(jù)文件數(shù)據(jù)圖像圖像255 65 200 30圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)一、數(shù)字圖像內(nèi)部的像素?cái)?shù)據(jù)存放方式: 如果是“RGB”圖像,則按 紅綠藍(lán)順序存儲像素,

5、每個像素占用3個字節(jié)或6個字節(jié)。128文件文件圖像圖像255 65 200 130 20 46 133 230123如果是“CMYK”圖像圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)二、VB的文件存取方法:1. 文件操作過程: A)按某種模式打開文件; B)將文件數(shù)據(jù)讀入變量(內(nèi)存) 或:將變量的數(shù)據(jù)存入文件; C)關(guān)閉文件。圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)二、VB的文件存取方法:2. 文件打開和關(guān)閉: 打開文件: Open 文件路徑/名稱 for 模式 as #文件號 模式有:Input、Output、Random、 關(guān)閉文件:Close #文件號圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)二、VB的文件存取方法: 文件是由1

6、條或多條記錄組合成的, 每條記錄的長度可以相同, 也可以不同。圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)二、VB的文件存取方法: 類型: 順序文件、隨機(jī)文件、二進(jìn)制文件。 不同類型文件的 記錄屬性和存取方式不同。 圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)三、VB的二進(jìn)制文件存?。?二進(jìn)制文件的特點(diǎn)是:可以對文件任意字節(jié)進(jìn)行讀寫,不必組織“記錄”。 打開文件的模式是“Binary”例如: Open “c:windowsdesktopcolorimg.raw” for binary as #1圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)三、VB的二進(jìn)制文件存?。?將數(shù)據(jù)從二進(jìn)制文件讀入變量, 用:“Get #文件號,位置, 變量名” “位

7、置”是以字節(jié)為單位, 下1次要讀寫的位置。 根據(jù)變量類型,每次讀寫字節(jié)數(shù)不同。 例如: dim ImageData(1 to 10) as Byte for i=1 to 10 Get #1, i, ImageData(i) next i 圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)三、VB的二進(jìn)制文件存?。?將數(shù)據(jù)從變量存入二進(jìn)制文件, 用:“Put #文件號,位置, 變量名” “位置”是以字節(jié)為單位, 下1次要讀寫的位置。 例如: dim ImageData(1 to 10) as Byte for i=1 to 10 Put #1, i, ImageData(i) next i 圖像階調(diào)分布直方圖的VB

8、統(tǒng)計(jì)四、圖像直方圖統(tǒng)計(jì)VB程序?qū)崿F(xiàn): 1. 建立界面 標(biāo)題等靜態(tài)文本、 建立文本框1和2、 圖片框1和2、 命令按鈕1/2/3圖像階調(diào)分布直方圖的VB統(tǒng)計(jì) Text1Text2Command1Command2Command3Windows預(yù)設(shè)的公共對話框,用于圖像文件的打開和存儲學(xué)號學(xué)號+ +名字名字圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)四、圖像直方圖統(tǒng)計(jì)VB程序?qū)崿F(xiàn): 2. 打開圖像文件: 點(diǎn)擊“打開RAW文件”按鈕。Private Sub Command1_Click()Form1.Picture1.ClsForm1.CommonDialog1.Action = 1Form1.CommonDialo

9、g1.Filter = RAW文件文件|*.rawPixelsHor = Val(Text1.Text)PixelsVer = Val(Text2.Text)ImgBytes = PixelsHor * PixelsVerReDim MyImage(ImgBytes)FileName0 = Form1.CommonDialog1.FileNameOpen FileName0 For Binary As #1ImgFileLen = LOF(1)If ImgFileLen ImgBytes Then rtv = MsgBox(“圖像字節(jié)數(shù)與文件不匹配,請重新設(shè)置圖像字節(jié)數(shù)與文件不匹配,請重新設(shè)置

10、”, vbOKOnly, 圖像參數(shù)圖像參數(shù) ) Close #1 GoTo enEnd If圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)四、圖像直方圖統(tǒng)計(jì)VB程序?qū)崿F(xiàn): 2. 打開圖像文件: 點(diǎn)擊“打開RAW文件”按鈕。rtv = MsgBox(“圖像已打開圖像已打開,可以統(tǒng)計(jì)值方圖了可以統(tǒng)計(jì)值方圖了.”, vbOKOnly, 打開圖像打開圖像)Picture2.Clsen:End SubFor i = 0 To ImgBytes - 1 Get #1, i + 1, MyImage(i) Pos = (Form1.Picture2.Width - 1) / (ImgBytes - 1) * i Form1.

11、Picture2.Line (Pos, 0)-(Pos, 150), RGB(0, 0, 150) Next iClose #1圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)四、圖像直方圖統(tǒng)計(jì)VB程序?qū)崿F(xiàn): 3. 統(tǒng)計(jì)直方圖: 點(diǎn)擊“開始統(tǒng)計(jì)”按鈕。Private Sub Command2_Click()For i = 0 To ImgBytes - 1 HistoPixel(MyImage(i) = HistoPixel(MyImage(i) + 1Next i圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)四、圖像直方圖統(tǒng)計(jì)VB程序?qū)崿F(xiàn):MaxCount = 0For i = 0 To 255 HistoPerc(i) = HistoPixel(i) / ImgBytes If HistoPerc(i) MaxCount Then MaxCount = HistoPerc(i)Next i圖像階調(diào)分布直方圖的VB統(tǒng)計(jì)四、圖像直方圖統(tǒng)計(jì)VB程序?qū)崿F(xiàn): For i = 0 To 255 HistoPerc(i) = HistoPerc(i) / MaxCountNext iFor i = 0 To 255 RectLong = HistoPerc(i) * 3000 Picture1.Line (i * 30, 3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論