扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:LingLi 来源:yesky 2007年11月10日
关键字:
Option Explicit Dim imagepixels(2, 1024, 1024) As Integer '用来存储读入的图像数据 Dim picturename, picture_savename As String |
Private Sub open_Click() Dim i As Integer, j As Integer Dim red As Long, green As Long, blue As Long Dim pixel As Long ' 设置"CancelError"为 True CommonDialog1.CancelError = True On Error GoTo ErrHandler ' 设置标志 CommonDialog1.Flags = cdlOFNHideReadOnly ' 设置过滤器 CommonDialog1.filter = "All Files (*.*)|*.*|Text Files" & _ "(*.txt)|*.txt|pictures(*.gif)|*.gif|pictures(*.bmp)|*.bmp" ' 指定缺省的过滤器 CommonDialog1.FilterIndex = 4 ' 显示"打开"对话框 CommonDialog1.ShowOpen ' 显示选定文件的名字 picturename = CommonDialog1.FileName If picturename = "" Then Exit Sub Picture1.Picture = LoadPicture(picturename) Picture2.Picture = Picture1.Picture Picture1.Refresh Picture2.Refresh Picture1.AutoSize = True x = Picture1.ScaleWidth y = Picture1.ScaleHeight form1.Visible = False For i = 0 To y - 1 For j = 0 To x - 1 pixel& = form1.Picture1.Point(j, i) red = pixel& Mod 256 green = ((pixel& And &HFF00) / 256&) Mod 256& blue = (pixel& And &HFF0000) / 65536 imagepixels(0, j, i) = red '分别存储像素点的GRB值 imagepixels(1, j, i) = green imagepixels(2, j, i) = blue Next Next form1.Visible = True form1.Show ErrHandler: ' 用户按了"取消"按钮 Exit Sub End Sub |
Private Sub save_Click() CommonDialog2.CancelError = True ' 初始化"CancelError"为 True On Error GoTo ErrHandler ' 设置标志 CommonDialog2.Flags = cdlOFNHideReadOnly ' 设置过滤器 CommonDialog2.filter = "All Files (*.*)|*.*|Text Files" & _ "(*.txt)|*.txt|pictures(*.gif)|*.gif|pictures(*.bmp)|*.bmp" ' 指定缺省的过滤器 CommonDialog2.FilterIndex = 4 ' 显示"打开"对话框 CommonDialog2.ShowSave ' 显示选定文件的名字 picture_savename = CommonDialog2.FileName SavePicture Picture1.Image, picture_savename ErrHandler: ' 用户按了"取消"按钮 Exit Sub End Sub |
Private Sub exit_Click() Unload Me End Sub |
Private Sub msmoothit_Click() '对24位真彩色图像进行加柔 Dim i As Integer, j As Integer Dim dx As Integer, dy As Integer Dim red As Long, green As Long, blue As Long Dim gray Dim YofImg, UofImg, VofImg, redr, greeng, blueb '记录需削波的象素点的yuv值。 If Picture1.Picture = 0 Then |
运行过程图:
图2:程序运行中 |
图3:处理完 |
处理前后图的比较:
图4:原始图 |
图5:处理后的效果图 |
结束语
对图像采用不同的柔化算子,可以得到不同程度的柔化效果,您可以自已动手,参照上面的程序,对喜欢的照片定制柔化。
下载本文源代码
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者