首页 用VB编写图像处理程序算法的实现

用VB编写图像处理程序算法的实现

举报
开通vip

用VB编写图像处理程序算法的实现用VB编写图像处理程序算法的实现 2012-07-19################2012-07-19#######2#012-07-19######## 用 VB编写图像处理程序算法的实现 李俊荣 王振明 () 沧州职业技术学院 河北 沧州 061001 ,图像处理算法在编程中的地位显得越来越重要 ,本文主要讨论了利用 VB 提供的取色 随着计算机和多媒体技术的发展 摘 要 和画点两个关键方法 ,实现图像处理的几类常见方法 。 关键字 VB 图像处理 三元色 THE IM PL EM ENTA ...

用VB编写图像处理程序算法的实现
用VB编写图像处理程序算法的实现 2012-07-19################2012-07-19#######2#012-07-19######## 用 VB编写图像处理程序算法的实现 李俊荣 王振明 () 沧州职业技术学院 河北 沧州 061001 ,图像处理算法在编程中的地位显得越来越重要 ,本文主要讨论了利用 VB 提供的取色 随着计算机和多媒体技术的发展 摘 要 和画点两个关键方法 ,实现图像处理的几类常见方法 。 关键字 VB 图像处理 三元色 THE IM PL EM ENTA T IO N O F THE AL GO R ITHM O F IM A GE PRO C ESS ING BA SED O N VB L i J un rong W ang Zhenm ing ( )Cangzhou V oca tiona l Technology Institu te, C angzhou 061001, Hebei, Ch ina A b stra c t A long w ith the techn ica l deve lopm en t of the ca lcu la to r and the m u ltim ed ia, the p ic tu re p roce ssing ca lcu la te way is weaving the po sition in the d istance to seem to be mo re and mo re impo rtan t, th is text m a in ly d iscu ssed to m ake u se of VB to p rovide of take co lo r and p a in ting to o rde r two key func tion s, ca rry ou t a few fam ilia r m e thod s of p ic tu re p roce ssing. Keyword s VB P ic tu re p roce ssing Trico lo r 0 引 言 2 算法原理和实现方法 目前图像处理 方 面 的 软 件 很 多 , 但 有 时 候 在 编 程 时 需 要 , 在窗体装载 时把窗体 、P ic tu re1 为了获得较快的运行速度 把图像处理的功 能 嵌 入 到 程 序 中 , 这 就 需 要 编 程 人 员 自 己 编 (和 P ic tu re2的坐标度量单位改为实际像素 绘图模式 Sca leMode写相关代码 。在 VB 的教学过程中 , 也 经 常 有 学 生 问 到“怎 样 ) 属性值设置为 3 。把图像转换为灰度图 像 ”,“怎样改变图 像 的 透 明 度 ”等 问 题 。 ( ) P rivate Sub Fo rm _Load 多数情况下是因为学生在报刊上看到 有关的文章中介绍到实 现以上功能的方法 ,文章中介绍的方法一般是通过调用 A P l函 Sca leMode = 3 数或 VB 外部控件来实现的 ,而这些 A P I函数或外部控件在我 P ictu re1. Sca leMode = 3 们使用的 VB6. 0版本中一般都找不到 ,不能按文章中介绍的方 P ictu re2. Sca leMode = 3 (法实现类似功能 。实际上使用 VB 的基本绘图方法 主要是 Po int End Sub ) 取色方法和 Pset画点方法 ,再结合恰当的算法即可实现这些功 能 ,甚至编写出类似 PHO TO SHO P图像处理软件也是完全可以做 ′单击图片框 2 清除上次写上的内容 到的 。下面就把几类常见的处理图像方法介绍如下 ,以起到抛砖 ( ) P rivate Sub P ic tu re2 _C lick 引玉的作用 ,有兴趣的读者可以和本文作者共同探讨 。 P ictu re2. C ls End Sub 对图像处理的方法虽然很多 ,常见的可以分为下面几类 ( ) 1 图像的反转和 90度倍数的旋转1 创建程序界面并设置相关属性 包括水平反转 、垂 直 反 转 、顺 时 针 旋 转 90 度 、逆 时 针 旋 转在窗体上放置两个图片框 , 给图片框 1 设置 P ic tu re 属性 , 90度和旋转 180度的处理 。 算法原理是按行和列依次读取原该图片即为要处理的图片 ,为了得到好的操作效果 ,本程序把处 图像各点的颜色 ,变换位 () 理后的目标图片写 绘 制 到 P ic tu re2 上 , 放 置 9 个 命 令 按 钮 。 设置窗体和命令按钮的 Cap tion属性 ,操作界面如 图 1 ,所有对 置后用原色写回到相应的位置 。 象的其它属性一律为缺省值 。 ? 单击按钮 1时实现图像左旋 90度代码如下 : ( )P rivate Sub Comm and1 _C lick ′单击按钮 1 时完成本操作 Fo r i = 0 To P ic tu re1. Sca leW id th Fo r j = 0 To P ic tu re1. ScaleH e igh t ′从左到右 、从上到下依次读取原图像各点的颜色变换位置后 ′写回到P ictu re2 2012-07-19################2012-07-19#######2#012-07-19######## ( ) ( ) P ic tu re2. PSe t j, P ic tu re1. Sca leW id th - i, P ictu re1. Po in t i, jEnd Sub N ext j ( ) 4 图像的半透明处理N ext i 分别读取图像各点的颜色 ,和与其对应的放置图像的背景 End Sub 的颜色 ,各自分解为三元色 ,让图像的颜色乘以不透明度 ,放置 ? 单击按钮 2 时实现图像右旋 90 度 ,用下面代码替代 ? ( ) 图像的颜色乘以透明度 1 2不透明度 ,然后将它们的值相加后 中的循环体部分即可 。 写回去即可 ,下面例子为对图像进行半透明处理的原代码 。 ( ) ( )P ic tu re2. PSe t P ictu re1. Sca leH e igh t - j, i, P ictu re1. Po in t i, j 原代码如上 :? 单击按钮 3 时实现图像旋转 180 度 ,用下面代码替代 ? ( )P rivate Sub Comm and8 _C lick 中的循环体部分即可 。 Fo r i = 0 To P ic tu re1. Sca leW id th ( ) P ic tu re2. PSe t P ictu re1. Sca leW id th - i, P ic tu re1. Sca leH eigh t2j, P ic tu re1. Fo r j = 0 To P ic tu re1. Sca leH eigh t ( )′获取原图像某点的颜色 Po in t i, j ( ) co l1 = P ic tu re1. Po in t i, j ? 单击按钮 1时实现将图像水平反转代码如下 : r1 = co l1 Mod 256 ( )P rivate Sub Comm and6 _C lick g1 = co l1 \256 Mod 256 Fo r i = 0 To P ic tu re1. Sca leW id th b1 = co l1 \256 \256 Fo r j = 0 To P ic tu re1. Sca leH e igh t ( ) ( ) ′获取绘制图像处的底色 P ic tu re2. PSe t P ic tu re1. Sca leW id th - i, j, P ictu re1. Po in t i, j ( )N ext j co l2 = P ic tu re2. Po in t i, j r2 = co l2 Mod 256 N ext i g2 = co l2 \256 Mod 256 End Sub b2 = co l2 \256 \256 ? 单击按钮 5时垂直反转图像 ,用下面代码替代 ?中的循 ′取其平均值写回 环体部分即可 ( ) r = r1 + r2 /2 ( ) ( )P ic tu re2. PSe t i, P ic tu re1. ScaleH e igh t - j, P ic tu re1. Po in t i, j ( ) g = g1 + g2 / 2 ( ) ()2 图像的去色处理 将彩色图像转换为灰度图像 ( ) b = b1 + b2 /2 依次读取图像上各点的颜色 ,把每点的颜色值分解为三元 ( ) ( ) P ic tu re2. PSet i, j, R GB r, g, b色后 ,求其平均值 ,再以平均值分别作为红 、绿蓝三元色的值写 N ext j 回去 。N ext i 原代码如下 :End Sub ( )P rivate Sub Comm and6 _C lick ( ) 5 马赛克效果的实现 将图像加工成马赛克效果是一种Fo r i = 0 To P ic tu re1. Sca leW id th 较常见的图像处理技术 , Fo r j = 0 To P ic tu re1. Sca leH eigh t 要将一幅图像加工成马赛克效果需要依次读取图像上各点 ,及( )′获得某点的颜色值 co l = P ic tu re1. Po in t i, j (′提取红色值赋给变量 r 其该点周围的颜色 范围大小以马赛克大小而定 , 本文以边长 r = co l Mod 256 ) 为 5个点的小方块为例 ,将每点的色分 解为三元色后求其平 ′提取绿色值赋给变量 gg = co l \256 Mod 256 ′提取蓝色值赋给变量 b 均值 ,然后把该色写回到这一小正方形区域即可 。b = co l \ 256 \256 ′求出红 、绿 、蓝三元色的平均值 ( ) p j = r + g + b/3 原代码如下 : ( ) ( )( )P ic tu re2. PSet i, j, R GB p j, p j, p j P rivate Sub Comm and9 _C lick Fo r i = 2 To P ic tu re1. Sca leW id th22 Step 5 ′用平均值做为三元色写回位置 N ext j Fo r j = 2 To P ic tu re1. Sca leH eigh t22 Step 5 N ext i r1 = 0: g1 = 0: b1 = 0 End Sub Fo r k = i - 2 To i + 2 ( ) (Fo r l = j - 2 To j + 2 3 图像的胶片效果处理 即反色处理 , 得到和原图像的 ( )co l = P ic tu re1. Po in t k, l )胶卷相同的效果 r1 = r1 + co l Mod 256 依次求出各点的三元色值后 ,分别用它们的最大值 255 减 g1 = g1 + co l \256 Mod 256 去原值 ,然后作为三元色写回去 。 b1 = b1 + co l \256 \256 原代码如下 :N ext 1 ( )P rivate Sub Comm and7 _C lick N ext k Fo r i = 0 To P ic tu re1. Sca leW id th r = r1 /25 Fo r j = 0 To P ic tu re1. Sca leH eigh t g = g1 /25 ( )co l = P ic tu re1. Po in t i, j b = b1 /25 r = co l Mod 256 Fo r k = i - 2 To i + 2 g = co l \256 Mod 256 Fo r l = j - 2 To j + 2 b = co l \ 256 \256 ( ) ( ) P ic tu re2. PSe t k, l, R GB r, g, b′分别用三元的最大值 255 减去三元色的原值写回 N ext 1 ( ) ( ) P ic tu re2. PSet i, j, R GB 255 - r, 255 - g, 255 - bN ext k N ext j N ext i 证模块交互 ,来实现应用程序在框架内部的安全保障 。 End Sub ? R epo rtSe rviceEJB:负责框架向 报表 企业所得税申报表下载财务会计报表下载斯维尔报表下载外贸周报表下载关联申报表下载 服务器作最终参数提 交 ,生成 报 表 的 操 作 。它 只 包 含 一 个 具 体 方 法 gene ra teR epo rt 3 结束语( ) ,将用户基于某个 ROX 定义的参数以 特定形式提交到报表 服务器并取得 RO I信息 。 本文介绍了用 VB 实现图像处理的几类常见方法 ,由于篇 ? Temp la teSe rviceEJB: 负 责对 Temp la te 相关对 象 的 操 作 ,幅限制有些图像处理没有介绍到 ,如 : 模糊 、锐化 、增减对比度 、 如各种参数的集合 。提供了保存 、装载 、删除等对动态报表模板 变亮 、变暗 、增减饮和度等 ,要实现对图像的这些处理 ,只要明白 的操作 ,将用 户 自 定 义 的 参 数 信 息 以 集 合 的 形 式 保 存 到 数 据 这些概念的含义 ,用类似前面介绍的“取色 - 写点 ”的方法是完 库中 。全可以实现的 。只是处理速度明显的要比现有的图像处理软件 要慢 。 R epo rt Cen te r在报表发布框架下的业务逻辑层部分主要包 括框架的 EJB 部分 ,以及处在表现层与业务逻辑层之间的 F lex2 Facade和直接调用 EJB 的各种 p roxy对象 。参 考 文 献 3. 3 数据逻辑层[ 1 ] 刘焕军 ,王耀南. 用混合编程开发图像处理系统. 电脑开发与应用 , 报表发布框架中数据库主要保存了用户自定义的动态报表 ( ) 2003 , 16 12 : 17. 模板以及相关参数的信息 。所有应用的数据都可以在数据库中 [ 2 ] 孙 其 民 , 吴 恩 华. 全 局 光 照 环 境 中 的 逆 向 绘 制. 软 件 学 报 , 14 共存而不需要另外创建新的数据库实例 。 R epo rt Cen te r的动态 ( ) 10 : 1796. 报表模板信息会直接保存到为报表发布 框架创建的数据库表 中 ,不需要多余的配置信息 。 ()上接第 82页 ? U se r:代表 应 用 程 序 的 用 户 。通 过 它 与 门 户 网 站 的 授 4 结 论 权 /认证系统交互 。 3. 1. 2 视图 框架 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 了应用的体系结构 ,阐明了整个设计 、协作构件之 F lex能够为 Stru ts应用程 序提供丰富的 、可扩展的用户界 间的依赖关系 、责任分配和控制 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 ,表现为一组抽象类以及其 面 。 F lex采用 R emo teO b jec t实现 F lex页面 与 J ava 对 象 之 间 的 实例之间协作的方法 ,它为构件复用提供了上下文关系 。报表 通信 。在本文 框 架 中 它 反 映 为 Facade 模 式 的 应 用 , 即 F lexFa2发布框架采用了基于 MVC 模式的 F lex / Stru ts集成和 EJB 实现 cade对象 。J2 EE的三层架构体系 ,运用了 Facade 设计模式 。 R epo rt Cen te r 是实际项目案例 ,它验证了本文报表发布框架的可行性和优点 。 3. 1. 3 控制器 将系统划分为若干个子系统有利于降低系例如 ,系统性能得到很大改善 ,某些典型的测试用例的响应时间 统的复杂性 。其 从 120秒降低为 20秒 。据统计 ,通过应用本框架 ,我们项目组 设计目标是使子系统间的通信和相互依赖关系达到最小 。实现 开发的报表发布平台整体效率提升 20 % ,开发效率提升 40 % 。 途径之一是引入 Facade对象 ,为子系统中较一般的设施提供单 () 表 1就复用种类 是否允许修改可复用构件 、复用层和软件开 一而简单的界面 。报表发布框架在 F lex和 J ava 部分之间引入 发效率等方面对应用报表发布框架的系统前后进行比较 。 了 Facade设计模式 , 设 计了 F lexFacade 对 象 。 F lexFacade 对 象 表 1 采用报表发布框架前后比较 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 表 在报表发布框架中扮演了前端的 F lex用户界面 和后端的 J ava 程序 ,包括对表现层的适配器等 J ava对象和业务逻辑层本身的 EJB 方法调用 ,以及它们之间通信的中间站 。 复用种类 复用层 软件开发效率 尽管系统中所有从 F lex页面发出的 J ava 方法调用都会经 直接复用 / 传 统 开 非正式的代码复用 减少 开 发 时 间 带 过 F lexFacade,但对于 EJB 调用来说 ,由于 EJB 和 F lex的开发是 修改复用发模式 成品复用 来的效益一般 同步进行的 ,所以如果直 接调用 EJB 方法 , 在框架开发初期是 黑盒式代码复用 设采 用 报 加速投产时间 无法进行调试的 。为了进一步分离两个层次的开发 ,报表发布 直接复用 / 计复用 交互操作性表 发 布 降低成本 提高框架中使用了 p roxy。每个 EJB 都有一个对应的 p roxy类 ,用于 修改复用框架 软件质量 高复用 领域分析复 同表现层交互的接口 , 在 p roxy类中包 含了与 EJB 相同的方法 用 () 命名和参数类型 。在 框 架 开 发 初 期 , p roxy中 的 方 法 调 用 将 鉴于以上分析比较 ,我们认为本文提出的金融系统的报表 会直接返回一些硬编码数据给 F lex页面以帮助用户界面的开 发布框架可使软件结构清晰 ,缩短软件开发周期 ,提高软件的可 发能够顺利进行 ,同时 也不影响后台 EJB 的开发 ; 当 EJB 开发 维护性和复用率 。 结束 ,框架开发工作进入到集成阶段的时候 , p roxy中的方法调 用将会指向后台 EJB 中对应的方法 。 参 考 文 献 3. 2 业务逻辑层[ 1 ] Componen ts, F ram ewo rk s, Pa tte rn s, John son R E. ACM S IGSO FT Soft2 本 框 架 实 现 了 App Se rviceEJB , R epo rtSe rviceEJB 和 Tem 2 ( ) ware Enginee ring No te s, 1997 , 22 3 . p la teSe rviceEJB ,分别负责处理 框架中应用程序业务逻 辑 , 报表 [ 2 ] Exp e rt one2on2one J2 EE D e sign and D evelopm en t Rod John son 2003. 生成业务逻辑和动态报表模板业务逻辑 。下面具体介绍 :[ 3 ] h ttp: / /www. m a rkm e. com / cc / arch ive s /004521. cfm A c lo ser look a t ? App Se rviceEJB:负责框架对应用程序级别的操作 。它提 the F lex P rogramm ing mode l 2004 , 3. 供了接口得到框架内集成的应用程序信息 ; 负责获取某个应用 [ 4 ] F lex应用程序性能 :改善客户端应用程序和服务器性能的技巧与 程序所包含的 ROX,并提供了接口与企业门户网站的授权和认 Your requestcould not be processed becauseof a configurationerror: "Could not connect to LDAPserver." For assistance,contact your network support team. file:///C|/Users/Administrator/Desktop/新建文本文档.txt 涵盖各行业最丰富完备的资料文献,最前瞻权威的行业动态,是专业人士的不二选择。 file:///C|/Users/Administrator/Desktop/新建文本文档.txt2012/8/26 12:19:58
本文档为【用VB编写图像处理程序算法的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_591137
暂无简介~
格式:doc
大小:34KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-10-06
浏览量:27