- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用VB编程处理图像方法
用VB编程处理图像方法
摘#8195;要 主要阐述在图形处理的过程中, 对于常见的图形的柔化、锐化、浮雕、扩散等的处理方法。
关键词 VB编程;图像;处理方法
中图分类号 TP 文献标识码 A 文章编号 1673-9671-(2010)122-0024-01
在一般的图形处理的过程中,常见的方法有图形的柔化、锐化、浮雕、扩散等处理方法,下面我们介绍每一个算法的工作方法以及它在VB中实现的方法。
首先要在VB6.0当中建立一个工程,建立一个窗体Form 1和一个模块Module 1。在窗体Form 1中添加公共对话框控件和Picture控件,Common dialog 1,cmdLoad,cmdSmooth,cmdSharpen,cmd Emboss,cmdDif fuse以及cmdEnd六个命令的按钮。
1 读取图形象素值
首先设置好了存放象素值的数组Picture Pixels( ),声明如下:
Global Picture Pixels(2,500,500) As Integer 处理图形尺寸不超过500×500读取图形的象素到Picture Pixels( )数组一共有两种方法:①用Point方法;②直接从文件中读取象素。后一种方法在处理图形时速度相对快一些,但是该方法需要事先去了解不同的图形文件的结构,需要提供出不同处理的程序。而采用Point方法则可以直接的从图形框中读取图型象素值。以下的示例采用的Point方法。在执行cmdLoad的命令时,程序要调用公共对话框,然后让用户来选择图形的文件,再将图形装入图形框中。
图形框的Scale Mode 属性可以设置为3(象素);Auto Size 属性可以设置为T rue,所以能够从图形框的尺寸中求出图形的尺寸。假如其中的一个图形的尺寸超过了500,则程序会出现出错信息并且结束,否则则通过Point方法读出象素并且取出三元色饱和度的值放入Picture Pixels的三维数组中。数组的第一下标0表示红,1表示绿,2表示蓝;第二下标对应于象素的列;第三下标对应于象素的行。
在模块Module1中的代码:
Option Explicit
Global Picture Pixels( 2, 500, 500) As Integer 设定公用数组窗体Form1 的代码:
Option Explicit
Private Sub cmdLoad_Click ( )
Dim i, j, x, y as Integer
Dim red As Integer, green As Integer, blue As Integer
Dim pix el
Dim PictureName
Picture1. Scale Mode = 3
Picture1. Auto Size = T rue
Common Dialog 1. Show Open
Picture Name = Common Dialog 1. filename
If Picture Name = Then Exit Sub
Picture1. Picture = Load Picture (Picture Name)
Form1. Refresh
x = Picture1. Scale Width
y = Picture1. Scale Height
If x 500 OR y 500 T hen
MsgBox “Picture to o large to process. Please try loading a smaller Picture”
x = 0
y = 0
Picture 1. Picture = Load Picture ( )
Ex it Sub
End If
For i = 0 To y - 1
For j = 0 T o x - 1
pixel = Form1. Picture1. Point (j, i)
red = pix el Mod 256
green = ((pix el And HFF00FF00) / 256)
blue = ((pix el And HFF0000) / 65536
Picture Pixels (0, i, j) = red
Picture Pixels (1, i, j) = green
Picture Pixels (2, i, j) = blue
Next
Next
End Sub
您可能关注的文档
最近下载
- 输输电线路角钢塔焊接件组装工艺技术规程(作业指导书9).doc VIP
- 文旅公司招聘笔试试题.pdf
- 诺华在中国-诺华中国Novartis.PDF VIP
- 4.《促织》课件(共62张PPT) 高教版(2023)中职语文基础模块上册.pptx VIP
- 威尔克姆V8[中文]说明书.pdf VIP
- 2022届中考真题、模考专项练习-“伏安法测电阻”、“测定小灯的电功率”(附答案).pdf VIP
- 专题1.1 整式的乘除(压轴题专项讲练)(北师大版)(原卷版).pdf VIP
- 2025—2026年印制电路板制造的节能环保趋势.pptx
- 再生润滑油基础油团体标准(TCRRA-0901-2023).pdf VIP
- 美世国际职位评估手册.pdf VIP
文档评论(0)