⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 卷积处理.frm

📁 一个图象处理的小软件
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         ScaleHeight     =   3915
         ScaleWidth      =   3915
         TabIndex        =   1
         Top             =   240
         Width           =   3975
         Begin VB.TextBox Text1 
            Height          =   495
            Index           =   0
            Left            =   720
            TabIndex        =   16
            Text            =   "-1"
            Top             =   480
            Width           =   495
         End
         Begin VB.Label Label11 
            Caption         =   "5"
            Height          =   375
            Left            =   240
            TabIndex        =   15
            Top             =   3480
            Width           =   255
         End
         Begin VB.Label Label10 
            Caption         =   "4"
            Height          =   375
            Left            =   240
            TabIndex        =   14
            Top             =   2880
            Width           =   255
         End
         Begin VB.Label Label9 
            Caption         =   "5"
            Height          =   375
            Left            =   3360
            TabIndex        =   13
            Top             =   120
            Width           =   375
         End
         Begin VB.Label Label8 
            Caption         =   "4"
            Height          =   375
            Left            =   2760
            TabIndex        =   12
            Top             =   120
            Width           =   375
         End
         Begin VB.Label Label1 
            Caption         =   "1"
            Height          =   375
            Index           =   0
            Left            =   840
            TabIndex        =   7
            Top             =   120
            Width           =   375
         End
         Begin VB.Label Label2 
            Caption         =   "2"
            Height          =   375
            Left            =   1560
            TabIndex        =   6
            Top             =   120
            Width           =   375
         End
         Begin VB.Label Label3 
            Caption         =   "3"
            Height          =   375
            Left            =   2280
            TabIndex        =   5
            Top             =   120
            Width           =   375
         End
         Begin VB.Label Label4 
            Caption         =   "1"
            Height          =   495
            Left            =   240
            TabIndex        =   4
            Top             =   600
            Width           =   255
         End
         Begin VB.Label Label5 
            Caption         =   "2"
            Height          =   495
            Left            =   240
            TabIndex        =   3
            Top             =   1440
            Width           =   255
         End
         Begin VB.Label Label6 
            Caption         =   "3"
            Height          =   375
            Left            =   240
            TabIndex        =   2
            Top             =   2160
            Width           =   375
         End
      End
      Begin VB.Label Label7 
         Caption         =   "请选择模板:"
         Height          =   375
         Left            =   240
         TabIndex        =   10
         Top             =   960
         Width           =   1215
      End
   End
End
Attribute VB_Name = "frmjjmodel"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Unload Me
End Sub

Private Sub jj_Click()
Dim w(24) As Integer
Dim n, m As Integer
Dim pixel(3, 300, 300) As Long
frmMain.Pic2.Cls
Screen.MousePointer = 11
frmMain.ProgressBar1.Min = 0
frmMain.ProgressBar1.Max = frmMain.Pic1.ScaleWidth
frmMain.ProgressBar1.Visible = True
frmMain.ProgressBar1.Value = frmMain.ProgressBar1.Min
k = 0
If Option1.Value Then
For i = 0 To 8
w(i) = Val(Text1(i).Text)
Next i

n = frmMain.Pic1.ScaleWidth
m = frmMain.Pic1.ScaleHeight
For i = 0 To n
For j = 0 To m
c = frmMain.Pic1.Point(i, j)
pixel(0, i, j) = c And &HFF
pixel(1, i, j) = (c And 65280) \ 256
pixel(2, i, j) = (c And &HFF0000) \ 65536
Next j
Next i
For i = 1 To n - 1 '边界作不处理
For j = 1 To m - 1 '边界作不处理
r = pixel(0, i - 1, j - 1) * w(0) + pixel(0, i - 1, j) * w(1) + pixel(0, i - 1, j + 1) * w(2) + pixel(0, i, j - 1) * w(3) + pixel(0, i, j) * w(4) + pixel(0, i, j + 1) * w(5) + pixel(0, i + 1, j - 1) * w(6) + pixel(0, i + 1, j) * w(7) + pixel(0, i + 1, j + 1) * w(8)
g = pixel(1, i - 1, j - 1) * w(0) + pixel(1, i - 1, j) * w(1) + pixel(1, i - 1, j + 1) * w(2) + pixel(1, i, j - 1) * w(3) + pixel(1, i, j) * w(4) + pixel(1, i, j + 1) * w(5) + pixel(1, i + 1, j - 1) * w(6) + pixel(1, i + 1, j) * w(7) + pixel(1, i + 1, j + 1) * w(8)
b = pixel(2, i - 1, j - 1) * w(0) + pixel(2, i - 1, j) * w(1) + pixel(2, i - 1, j + 1) * w(2) + pixel(2, i, j - 1) * w(3) + pixel(2, i, j) * w(4) + pixel(2, i, j + 1) * w(5) + pixel(2, i + 1, j - 1) * w(6) + pixel(2, i + 1, j) * w(7) + pixel(2, i + 1, j + 1) * w(8)
If r > 255 Then r = 255
If r < 0 Then r = 0
If g > 255 Then g = 255
If g < 0 Then g = 0
If b > 255 Then b = 255
If b < 0 Then b = 0
frmMain.Pic2.PSet (i, j), RGB(r, g, b)
Next j
frmMain.ProgressBar1.Value = k
k = k + 1
Next i
frmMain.ProgressBar1.Visible = False
Screen.MousePointer = 0
End If
If Option2.Value Then
For i = 0 To 24
w(i) = Val(Text1(i).Text)
Next i
n = frmMain.Pic1.ScaleWidth
m = frmMain.Pic1.ScaleHeight
For i = 0 To n
For j = 0 To m
c = frmMain.Pic1.Point(i, j)
pixel(0, i, j) = c And &HFF
pixel(1, i, j) = (c And 65280) \ 256
pixel(2, i, j) = (c And &HFF0000) \ 65536
Next j
Next i
For i = 2 To n - 1 '边界作不处理
For j = 2 To m - 1 '边界作不处理
r = pixel(0, i - 2, j - 2) * w(0) + pixel(0, i - 2, j - 1) * w(1) + pixel(0, i - 2, j) * w(2) + pixel(0, i - 2, j + 1) * w(10) + pixel(0, i - 2, j + 2) * w(12) + _
pixel(0, i - 1, j - 2) * w(3) + pixel(0, i - 1, j - 1) * w(4) + pixel(0, i - 1, j) * w(5) + pixel(0, i - 1, j + 1) * w(11) + pixel(0, i - 1, j + 2) * w(9) + _
pixel(0, i, j - 2) * w(6) + pixel(0, i, j - 1) * w(7) + pixel(0, i, j) * w(8) + pixel(0, i, j + 1) * w(13) + pixel(0, i, j + 2) * w(14) + _
pixel(0, i + 1, j - 2) * w(15) + pixel(0, i + 1, j - 1) * w(16) + pixel(0, i + 1, j) * w(17) + pixel(0, i + 1, j + 1) * w(18) + pixel(0, i + 1, j + 2) * w(19) + _
pixel(0, i + 2, j - 2) * w(20) + pixel(0, i + 2, j - 1) * w(21) + pixel(0, i + 2, j) * w(22) + pixel(0, i + 2, j + 1) * w(23) + pixel(0, i + 2, j + 2) * w(24)

g = pixel(1, i - 2, j - 2) * w(0) + pixel(1, i - 2, j - 1) * w(1) + pixel(1, i - 2, j) * w(2) + pixel(1, i - 2, j + 1) * w(10) + pixel(1, i - 2, j + 2) * w(12) + _
pixel(1, i - 1, j - 2) * w(3) + pixel(1, i - 1, j - 1) * w(4) + pixel(1, i - 1, j) * w(5) + pixel(1, i - 1, j + 1) * w(11) + pixel(1, i - 1, j + 2) * w(9) + _
pixel(1, i, j - 2) * w(6) + pixel(0, i, j - 1) * w(7) + pixel(1, i, j) * w(8) + pixel(1, i, j + 1) * w(13) + pixel(1, i, j + 2) * w(14) + _
pixel(1, i + 1, j - 2) * w(15) + pixel(1, i + 1, j - 1) * w(16) + pixel(1, i + 1, j) * w(17) + pixel(1, i + 1, j + 1) * w(18) + pixel(1, i + 1, j + 2) * w(19) + _
pixel(1, i + 2, j - 2) * w(20) + pixel(1, i + 2, j - 1) * w(21) + pixel(1, i + 2, j) * w(22) + pixel(1, i + 2, j + 1) * w(23) + pixel(1, i + 2, j + 2) * w(24)

b = pixel(2, i - 2, j - 2) * w(0) + pixel(2, i - 2, j - 1) * w(1) + pixel(2, i - 2, j) * w(2) + pixel(2, i - 2, j + 1) * w(10) + pixel(2, i - 2, j + 2) * w(12) + _
pixel(2, i - 1, j - 2) * w(3) + pixel(2, i - 1, j - 1) * w(4) + pixel(2, i - 1, j) * w(5) + pixel(2, i - 1, j + 1) * w(11) + pixel(2, i - 1, j + 2) * w(9) + _
pixel(2, i, j - 2) * w(6) + pixel(2, i, j - 1) * w(7) + pixel(2, i, j) * w(8) + pixel(2, i, j + 1) * w(13) + pixel(0, i, j + 2) * w(14) + _
pixel(2, i + 1, j - 2) * w(15) + pixel(2, i + 1, j - 1) * w(16) + pixel(2, i + 1, j) * w(17) + pixel(2, i + 1, j + 1) * w(18) + pixel(2, i + 1, j + 2) * w(19) + _
pixel(2, i + 2, j - 2) * w(20) + pixel(2, i + 2, j - 1) * w(21) + pixel(2, i + 2, j) * w(22) + pixel(2, i + 2, j + 1) * w(23) + pixel(2, i + 2, j + 2) * w(24)


If r > 255 Then r = 255
If r < 0 Then r = 0
If g > 255 Then g = 255
If g < 0 Then g = 0
If b > 255 Then b = 255
If b < 0 Then b = 0
frmMain.Pic2.PSet (i, j), RGB(r, g, b)
Next j
frmMain.ProgressBar1.Value = k
k = k + 1
Next i
frmMain.ProgressBar1.Visible = False
Screen.MousePointer = 0
End If
'Unload Me
End Sub

Private Sub Form_Load()
frmMain.Pic1.ScaleMode = 3
frmMain.Pic2.ScaleMode = 3
Label8.Enabled = False
Label9.Enabled = False
Label10.Enabled = False
Label11.Enabled = False
For i = 0 To 3
Text1(i).Text = -1
Next i
For i = 5 To 8
Text1(i).Text = -1
Next i
For i = 9 To 24
Text1(4).Text = 8
Text1(i).Enabled = False
Text1(i).BackColor = &HE0E0E0
Next i
End Sub

Private Sub Option1_Click()
Call Form_Load
End Sub

Private Sub Option2_Click()
Label8.Enabled = True
Label9.Enabled = True
Label10.Enabled = True
Label11.Enabled = True
Text1(3).Enabled = True
Text1(4).Enabled = True
Text1(8).Enabled = True
Text1(9).Enabled = True
For i = 9 To 24
Text1(i).Enabled = True
Text1(i).BackColor = &HFFFFFF
Text1(i).Text = -1
Next i
For i = 0 To 7
Text1(i).Text = -1
Next i
Text1(8).Text = 10
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -