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

📄 卷积处理1.frm

📁 一个图象处理的小软件
💻 FRM
📖 第 1 页 / 共 2 页
字号:
               Index           =   4
               Left            =   2760
               TabIndex        =   54
               Top             =   240
               Width           =   375
            End
            Begin VB.Label Label3 
               Caption         =   "1"
               Height          =   255
               Index           =   5
               Left            =   120
               TabIndex        =   53
               Top             =   720
               Width           =   375
            End
            Begin VB.Label Label3 
               Caption         =   "2"
               Height          =   255
               Index           =   6
               Left            =   120
               TabIndex        =   52
               Top             =   1320
               Width           =   375
            End
            Begin VB.Label Label3 
               Caption         =   "3"
               Height          =   255
               Index           =   7
               Left            =   120
               TabIndex        =   51
               Top             =   1800
               Width           =   375
            End
            Begin VB.Label Label3 
               Caption         =   "4"
               Height          =   255
               Index           =   8
               Left            =   120
               TabIndex        =   50
               Top             =   2280
               Width           =   375
            End
            Begin VB.Label Label3 
               Caption         =   "5"
               Height          =   255
               Index           =   9
               Left            =   120
               TabIndex        =   49
               Top             =   2760
               Width           =   375
            End
         End
         Begin VB.Frame Frame1 
            Height          =   3135
            Index           =   1
            Left            =   120
            TabIndex        =   2
            Top             =   120
            Width           =   3255
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   0
               Left            =   600
               TabIndex        =   11
               Text            =   "-1"
               Top             =   720
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   1
               Left            =   1440
               TabIndex        =   10
               Text            =   "-1"
               Top             =   720
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   2
               Left            =   2280
               TabIndex        =   9
               Text            =   "-1"
               Top             =   720
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   3
               Left            =   600
               TabIndex        =   8
               Text            =   "-1"
               Top             =   1560
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   4
               Left            =   1440
               TabIndex        =   7
               Text            =   "8"
               Top             =   1560
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   5
               Left            =   2280
               TabIndex        =   6
               Text            =   "-1"
               Top             =   1560
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   6
               Left            =   600
               TabIndex        =   5
               Text            =   "-1"
               Top             =   2400
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   7
               Left            =   1440
               TabIndex        =   4
               Text            =   "-1"
               Top             =   2400
               Width           =   495
            End
            Begin VB.TextBox Text1 
               Height          =   495
               Index           =   8
               Left            =   2280
               TabIndex        =   3
               Text            =   "-1"
               Top             =   2400
               Width           =   495
            End
            Begin VB.Label Label1 
               Caption         =   "1"
               Height          =   255
               Index           =   0
               Left            =   720
               TabIndex        =   17
               Top             =   360
               Width           =   375
            End
            Begin VB.Label Label1 
               Caption         =   "2"
               Height          =   255
               Index           =   1
               Left            =   1680
               TabIndex        =   16
               Top             =   360
               Width           =   375
            End
            Begin VB.Label Label1 
               Caption         =   "3"
               Height          =   255
               Index           =   2
               Left            =   2520
               TabIndex        =   15
               Top             =   360
               Width           =   375
            End
            Begin VB.Label Label1 
               Caption         =   "1"
               Height          =   255
               Index           =   3
               Left            =   240
               TabIndex        =   14
               Top             =   960
               Width           =   375
            End
            Begin VB.Label Label1 
               Caption         =   "2"
               Height          =   255
               Index           =   4
               Left            =   240
               TabIndex        =   13
               Top             =   1800
               Width           =   375
            End
            Begin VB.Label Label1 
               Caption         =   "3"
               Height          =   255
               Index           =   5
               Left            =   240
               TabIndex        =   12
               Top             =   2640
               Width           =   375
            End
         End
      End
      Begin VB.Label Label2 
         Caption         =   "请选择模板:"
         Height          =   375
         Left            =   240
         TabIndex        =   18
         Top             =   720
         Width           =   1215
      End
   End
End
Attribute VB_Name = "frmjjpro"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim w(24) As Integer
Dim n, m As Integer
Dim pixel(3, 300, 300) As Long
frmMain.Label1.Caption = "卷积处理"
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(0).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(Text2(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
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Form_Load()
frmjjpro.Left = 4500
frmjjpro.Top = 6000
Frame1(1).Visible = True
Frame2.Visible = False
End Sub

Private Sub Option1_Click(Index As Integer)
Call Form_Load
Text1(0).SetFocus
End Sub

Private Sub Option2_Click()
Frame2.Visible = True
Frame1(1).Visible = False
Text2(0).SetFocus
End Sub

⌨️ 快捷键说明

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