图像处理综合系统

图像处理综合系统

ID:33528368

大小:2.97 MB

页数:32页

时间:2019-02-26

图像处理综合系统_第1页
图像处理综合系统_第2页
图像处理综合系统_第3页
图像处理综合系统_第4页
图像处理综合系统_第5页
资源描述:

《图像处理综合系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第16章图像处理综合系统第16章图像处理综合系统www.chnfee.com友情制作本章导读本章介绍以下2个综合系统:◆画笔系统◆综合图像处理系统16.1画笔系统综合前面所学过的有关图像处理特效的知识,编写图像处理综合系统。此系统能够实现图片的浏览、放大和缩小、旋转、灰暗化,以及在图片上画出能够设置颜色和线条宽度的线。16.1.1实例原理应用通用对话框控制文件的打开,选取预设格式的图片加载到图片框中进行浏览。在VB中Form,PictureBox和Printer都有PaintPicture方法,它们可以满足按一定比例对图片的大小进行缩小与放大的要求。这个方法的功能是复制

2、图像,其基本语法如下:object.PaintPicturepicture,x1,y1,width1,height1,x2,y2,_width2,height2,opcode这里的Picture来自Form等的Picture属性,而x1,y1是目标区域的左上角坐标,而x2,y2是源区域的左上角坐标,width1和height1是目标区域的宽度和高度,而width2和height2是源区域的宽度和高度,如果width1=width2且height1=height2,那么就是等比例复制,只需要选择适当的参数就可以实现图片的缩小与放大。参数opcode是操作码,其含义可以参考

3、WindowsAPI中关于BitBlt和StretchBlt函数的介绍。对图像的旋转我们采用的是逐点计算法。图像是由多个点组成的,如果将每一个点都按一定的角度进行旋转,整幅图像也就进行了旋转。因此,图像的旋转就变为点的旋转,利用逐点计算的方法就可以实现整幅画面的旋转。在图片上画图应用了鼠标的MouseDown,MouseUp和MouseMove事件,通过逻辑变量来控制画笔和橡皮是否可用,使用PictureBox控件的Line方法用鼠标点击相应的图标即可设置线条宽度DrawWidth属性。589第16章图像处理综合系统16.1.2实例演示运行该程序可看到如图16-1所示的

4、图像处理综合系统界面。在程序的主界面中,有两个PictureBox,左面的为“操作区域”,右面的为“对比区域”,“对比区域”用来与在“操作区域”载入图片进行放大、缩小等处理时的对比。操作区域同时也具有画板的功能。在“工具”栏中选择画笔工具,然后在“颜色”框中选择画笔颜色,接着在“线宽”栏中选择画笔的线宽,当在“操作区域”按下鼠标左键并移动鼠标时就可以实现画图功能了,橡皮工具可以把需要擦除的区域设置成背景色,以实现擦除的效果。图像综合处理中的画图如图16-2所示。图16-1图像处理综合系统界面图16-2图像综合处理中的画图载入图片后,画图工具仍然可用,你可以在图片上进行画

5、图操作。在“编辑”栏中点击“打开”命令按钮,选择图片载入程序,选择的图片将同时载入“操作区域”和“对比区域”,“操作区域”将根据图片的大小显示和隐藏滚动条,以便浏览图片,如图16-3所示。载入图像后就可以对图片进行相应的操作,点击“编辑”栏中的“放大”命令按钮,589第16章图像处理综合系统“操作区域”中的图片行对于“对比区域”将被放大,你可以拉动水平或垂直滚动条来浏览放大后的图像(如图16-4所示)和缩小后的图像(如图16-5所示)。在前面的多媒体学习中我们已经学习了图片的旋转,和这里的图片旋转完全相同。点击“左旋”或“右旋”命令按钮,就能够使整副图片向左(如图16-

6、6)或向右(如图16-7)旋转90°,如果想旋转更大的角度只需要多点击几次就可以实现,不过旋转的角度要是90的整数倍。除了对调整图像大小和旋转图像,本程序还提供了画面变暗的效果,单击“编辑”栏中的“变暗”命令按钮,“操作区域”中的图片将会变暗,与“对比区域”形成鲜明的对比,如图16-8所示。图16-3将图片载入程序图16-4浏览放大后的图像图16-5浏览缩小后的图像图16-6向左旋转图片图16-7向右旋转图片图16-8图片变暗589第16章图像处理综合系统如果在图片上使用了画图工具或者将图片变暗后,当单击“编辑”栏中的“恢复”命令按钮后,“操作区域”就会恢复到图16-3

7、时的载入状态。单击“退出”按钮结束程序。16.1.3实例实现'由于篇幅有限,本案例代码被省略'其代码请查看光盘,路径:chap16ex_01。16.2综合图像处理系统本节将介绍一个功能强大的数字图像处理系统。通常,对于要求很高的数字图像处理,一般都是通过VisualC++来实现,在VisualBasic中,如果要进行大规模的图像处理,可以调用通过C++编译的动态链接库来实现。但是很多时候,只需要使用到部分图像处理功能,或者对图像处理速度要求不是很高的时候,通过VisualBasic本身也能够进行各种数字图像的处理。本节介绍的系统将提供以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。