为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

VB数字图像处理代码

2017-10-06 13页 doc 34KB 15阅读

用户头像

is_713593

暂无简介

举报
VB数字图像处理代码VB数字图像处理代码 ï??Dim RGB1(250000) As Integer 'å?šä?‰ä??ä?ªå??æ‖?åƒ ç? çš„æ•?ç?„ Dim x(256) As Long 'å??æ‖?å??åº‖ç??åº?å??çš„é??æ•? Dim y(256, 2) Dim x1(256) Private Sub Command1_Click() Open "D:\æ–‡ä??.txt" For Output As #13 Dim i, j As Integer Dim r, g, b, c As...
VB数字图像处理代码
VB数字图像处理代码 ï??Dim RGB1(250000) As Integer 'å?šä?‰ä??ä?ªå??æ‖?åƒ ç? çš„æ•?ç?„ Dim x(256) As Long 'å??æ‖?å??åº‖ç??åº?å??çš„é??æ•? Dim y(256, 2) Dim x1(256) Private Sub Command1_Click() Open "D:\æ–‡ä??.txt" For Output As #13 Dim i, j As Integer Dim r, g, b, c As Long For i = 0 To Picture1.ScaleWidth - 1 For j = 0 To Picture1.ScaleHeight - 1 c = Picture1.Point(i, j) r = (c And &HFF) g = (c And 65280) \ 256& b = (c And &HFF0000) \ 65536 Picture2.PSet (i, j), RGB(r, r, r) Print #13, "("; r; g; b; ")" Next j Next i Close #13 End Sub Private Sub Nä??Nä??å??æ??æ??_Click() Picture2.Cls N = InputBox("è??è?―å…?ä??ä?ª>=3çš„å?‡æ•?") Dim a(1000) For i = 0 To Picture1.ScaleHeight - N - 1 For j = 0 To Picture1.ScaleWidth - N - 1 For k = i To i + N - 1 For m = j To j + N - 1 a((k - i) * N + m - j) = RGB1(k * N + m) Next m Next k For k = 0 To N * N - 1 For m = 0 To N * N - k If a(m) > a(m + 1) Then t = a(m) a(m) = a(m + 1) a(m + 1) = t End If Next m Next k b = (N + 1) / 2 RGB1((i + b - 1) * Picture1.ScaleWidth + j + b - 1) = a(b) Next j Next i For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = RGB1(i * Picture1.ScaleWidth + j) Picture2.PSet (j, i), RGB(c, c, c) Next j Next i End Sub Private Sub ä? å??_Click() CommonDialog1.Filter = "ä??å›?æ–‡ä??(*.bmp)|*.bmp" 'å›?片æ ?å? CommonDialog1.ShowSave 'ä??å?? SavePicture Picture2.Image, CommonDialog1.FileName End Sub Private Sub æ‰―å??_Click() On Error GoTo Cancel 'æ‰―å??å??è??æ?†å?–æ?ˆæŠ?é‖?å?„ç?† CommonDialog1.Filter = "ä??å›?æ–‡ä??(*.bmp)|*.bmp|ä??å›?æ–‡ä??(*.jpg)|*.jpg|ä??å›?æ–‡ä??(*.ico)|*.ico|æ –‡ä??(*.*)|*.*" CommonDialog1.ShowOpen Picture1.Cls 'æ?…å? Picture1.Picture = LoadPicture(CommonDialog1.FileName) 'è??å…?å›?åƒ Picture1.PaintPicture Picture1.Picture, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight 'è??å›?片é?‚åº‖窗å ?å??å? 'Open "D:\æ–‡ä??.txt" For Output As #13 'å?†å›?ç‰‡åƒ ç? ä??æ??æ‖?å…?RGB1æ•?ç?„ä??ï?ˆç??åº?å›?åƒ?çš„R=G=Bï?‰ Dim i, j As Integer Dim r, g, b, c As Long For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 RGB1(i * Picture1.ScaleWidth + j) = r 'Print #13, RGB1(i * j + j) Next j Next i 'Close #13 Cancel: End Sub Private Sub 底片_Click() Picture2.Cls For i = 0 To Picture1.ScaleWidth - 1 For j = 0 To Picture1.ScaleHeight - 1 c = Picture1.Point(i, j) r = (c And &HFF) 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 Picture2.PSet (i, j), RGB(255 - r, 255 - r, 255 - r) Next j Next i End Sub Private Sub å?…åº?分è??ç?‡å??化_Click() a = InputBox("è??è?―å…?ç??åº?çº?æ•?") If a = 2 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 If 0 <= r And r <= 127 Then Picture2.PSet (j, i), RGB(0, 0, 0) Else: Picture2.PSet (j, i), RGB(255, 255, 255) End If Next j Next i ElseIf a = 4 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 If 0 <= r And r <= 63 Then Picture2.PSet (j, i), RGB(0, 0, 0) ElseIf 64 <= r And r <= 127 Then Picture2.PSet (j, i), RGB(63, 63, 63) ElseIf 128 <= r And r <= 191 Then Picture2.PSet (j, i), RGB(127, 127, 127) Else: Picture2.PSet (j, i), RGB(191, 191, 191) End If Next j Next i ElseIf a = 8 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 For k = 0 To 7 If Int(r / 32) = k Then a = 32 * k Picture2.PSet (j, i), RGB(a, a, a) Exit For 'é‡ æ–?分é…?ç??åº?å??ï?Œä??æ—?æ‰?åˆ?é??ä?Šç?ˆæ??å?ªç??ï?Œæ??é??è??è?Œé?Ÿåº? End If Next k Next j Next i ElseIf a = 16 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 For k = 0 To 15 If Int(r / 16) = k Then a = 16 * k Picture2.PSet (j, i), RGB(a, a, a) Exit For End If Next k Next j Next i ElseIf a = 32 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 For k = 0 To 31 If Int(r / 8) = k Then a = 8 * k Picture2.PSet (j, i), RGB(a, a, a) Exit For End If Next k Next j Next i ElseIf a = 64 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 For k = 0 To 63 If Int(r / 4) = k Then a = 4 * k Picture2.PSet (j, i), RGB(a, a, a) Exit For End If Next k Next j Next i ElseIf a = 128 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 For k = 0 To 127 If Int(r / 2) = k Then a = 2 * k Picture2.PSet (j, i), RGB(a, a, a) Exit For End If Next k Next j Next i ElseIf a = 256 Then Picture2.Cls For i = 0 To Picture1.ScaleHeight - 1 For j = 0 To Picture1.ScaleWidth - 1 c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 Picture2.PSet (j, i), RGB(r, r, r) Next j Next i Else: MsgBox "è??é‡ æ–?è?―å…?ï?•" End If End Sub Private Sub å?‡è??化å›?åƒ _Click() Picture2.Scale (0, 0)-(417, 441) 'é‡ æ–?å?šä?‰å æ ‡ For i = 0 To Picture1.ScaleWidth - 1 For j = 0 To Picture1.ScaleHeight - 1 c = Picture1.Point(i, j) r = (c And &HFF) r = y(r, 0) 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 Picture2.PSet (i, j), RGB(r, r, r) Next j Next i End Sub Private Sub ç?ºé—?分è??ç?‡å??化_Click() Picture2.Cls a = InputBox("è??è?―å…?采æ ?é—?éš‖") For i = 0 To Picture1.ScaleHeight - 1 Step a For j = 0 To Picture1.ScaleWidth - 1 Step a c = Picture1.Point(j, i) r = (c And &HFF) 'å?†16è?›åˆ?çš„å›?åƒ?ä??æ??è??æ??æˆ?10è?›åˆ?æ•? 'g = (c And 65280) \ 256& 'b = (c And &HFF0000) \ 65536 Picture2.PSet (j, i), RGB(r, r, r) Next j Next i End Sub Private Sub é??出_Click() End End Sub Private Sub ç›?æ–?å›?_Click() 'ç?Ÿè??æ??ä?ªç??åº?å??çš„é??æ•? 'Dim x(256) For i = 0 To 255 For j = 0 To Picture1.ScaleWidth * Picture1.ScaleHeight - 1 If RGB1(j) = i Then x(i) = x(i) + 1 End If Next j Next i Picture2.Scale (0, 3000)-(512, 0) 'è??å?šç‖?å›?å æ ‡ Picture2.Cls 'æ?…å? 'ç‖?ç?Ÿè??ç›?æ–?å›? For i = 0 To 255 Picture2.Line (i * 2, 0)-(i * 2, x(i)) Next i End Sub Private Sub ç›?æ–?å›?å?‡è??化_Click() 'Dim y(256, 2) 'Dim x1(256) 'å?‡è??化 For i = 0 To 255 For j = 0 To i y(i, 0) = y(i, 0) + x(j) Next j y(i, 0) = Int(255 * y(i, 0) / (Picture1.ScaleWidth * Picture1.ScaleHeight) + 0.5) y(i, 1) = x(i) Next i For i = 0 To 255 For j = 0 To 255 If y(j, 0) = i Then x1(i) = x1(i) + y(j, 1) End If Next j Next i Picture2.Scale (0, 3000)-(512, 0) 'è??å?šç‖?å›?å æ ‡ Picture2.Cls 'æ?…å? 'ç‖?å?‡è??ç›?æ–?å›? For i = 0 To 255 Picture2.Line (i * 2, 0)-(i * 2, x1(i)) Next i End Sub
/
本文档为【VB数字图像处理代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索