17.計(jì)算機(jī)的基本功能是計(jì)算,信息加工處理本質(zhì)上都是通過計(jì)算完成的?,F(xiàn)有一圖象模糊處理的算法,以10*10像素圖象的模糊處理為例,具體算法如下:
(1)各像素點(diǎn)的顏色信息值(介于0至255之間的一個(gè)正整數(shù)),存儲(chǔ)至數(shù)組a中。
(2)給定模糊處理的模糊中心位置p和模糊半徑r(r>1),中心位置p即為半徑為1的區(qū)域,
①確定模糊中心點(diǎn)在如下數(shù)陣中的位置。若模糊中心為36時(shí),該模糊中心在數(shù)陣中對(duì)應(yīng)位置為第4行第6列;
②根據(jù)中心點(diǎn)和模糊半徑確定模糊處理的像素點(diǎn)的范圍。
(3)依序?qū)⒛:幚矸秶鷥?nèi)的像素點(diǎn)進(jìn)行模糊處理。模糊處理的方式為:最外側(cè)的像素點(diǎn)顏色信息不變,中間各像素點(diǎn)的新顏色信息值為該像素點(diǎn)上下左右相鄰四個(gè)像素點(diǎn)顏色信息值的平均值。
程序運(yùn)行時(shí),在文本框Text1中輸入模糊的中心點(diǎn)p,在文本框Text2中輸入模糊的半徑r,窗體加載,通過列表框List1輸出圖象模糊處理前的信息,單擊命令按鈕Command1后通過列表框List2輸出模糊后的圖象信息。程序運(yùn)行效果如圖b所示。相應(yīng)的模糊中心位置由橢圓圈注,中間各像素點(diǎn)由矩形框圈注
實(shí)現(xiàn)上述功能的VB程序如下。請(qǐng)回答下列問題:
(1)若以a(48)為模糊中心,布置成如第17題圖a所示數(shù)陣后模糊中心處于數(shù)陣的第
行。
(2)請(qǐng)?jiān)跈M線處填入合適的代碼。
Const n=10
Dim a(1To n*n) As Integer'介于0至255之間的值,存儲(chǔ)10*10圖象像素點(diǎn)的顏色信息
Private Sub Form_Load ( ?。?br />'讀取100個(gè)正整數(shù),存儲(chǔ)在數(shù)組a中以表示10*10圖片的像素點(diǎn)顏色信息,代碼略。
'并按右對(duì)齊方式將該圖片的各像素點(diǎn)顏色信息輸出至列表框List1中,代碼略。
End Sub
Private Sub Command1_Click ( ?。?br />Dim r As Integer,p As Integer
Dim i As Integer,j As Integer,k As Integer
p=Val(Text1.Text):r=Val(Text2.Text)
①
i=1
Do While j>n
j=j-n
i=i+1
Loop
'確定模糊處理的范圍,處理范圍的起始行,結(jié)束行,起始列,結(jié)束列保存到i1,i2,j1,j2中,代碼略
For i=i1+1To i2-1'中間像素點(diǎn)的模糊處理
For j=j1+1To j2-1
②
a(k)=ave(k)
Next j
Next i
'并按右對(duì)齊方式將該圖片的各像素點(diǎn)顏色信息輸出至列表框List2中,代碼略。
End Sub
Function ave(k As Integer) As Integer
ave=③
End Function