- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1127312552-基于Java的图像仿射与滤镜处理系统设计与实现-殷武烁
基于Java的图像仿射与滤镜处理系统设计与实现 个人简介 姓名:殷武烁 班级:117班 论文题目:基于Java的图像仿射和滤镜处理系统设计与实现 导师:刘杨老师 工作背景 目前市场上有许多功能强大的图像处理软件,例如ps ,光影魔 术手等,但是它们都有操作复杂,功能臃肿的缺点,不太适合普通用户。 我在大三项目实训中负责多媒体编辑系统的图像处理模块。 因此,我决定开发这款集合常用图像处理功能,轻便快捷的图像处理系统 软件的功能 软件主要分为图像仿射处理和滤镜处理两大模块 图像仿射处理: 1.图像放缩,自定义倍数放大缩小图像 2.图像旋转,可以将图像旋转90,180,270度 3. 图像变形 ,图像自定义拉伸和展宽,扭曲。 软件功能 滤镜处理: 1.复古滤镜,把图像进行灰度处理,使其有一种黑白老照片的感觉 2.均衡化滤镜,对图像进行非线性拉伸,出新分配图像像素值,使一定灰度范围内的图像灰度大致相同 功能的算法与实现 主界面设计 图形用户界面实现主要依靠Java提供的Swing包提供的组件。主界 面容器的设计主要由主类ImageProessing的构造方法public ImagePressing()控制,重要使用了swing包中的一些容器和组件包括JLabel,JMenuBar ,JMenu,JMenuItem,调用addActionListener()方法为按钮添加事件监听器,使用JScrollPane面板容器容纳JLabel标签 功能算法设计与实现 仿射功能设计与实现 1.图像放大缩小以及变形 放大和缩小图片的基本思想是获取原图像的长度h和高度w,然后按倍数s放大和缩小长度h和宽度w,生成放缩后的缩略图,可以使用Java.awt类image的类成员方法getScaledInstance()实现。而变形中的展宽和拉伸则是只单独放大和缩小长度h或宽度w。 方法public image getscaledinstance(int width, int height, int hints)创建原图像的缩放版本,生成一个新的image对象,在默认情况 下 ,该对象按指定的width和height呈现图像,即使已经完全加载加 载了初始原图像,新的image对象也可以被加载。 参数:width - 将图像缩放到的宽度。 height- 将图像缩放到的高度。 Hints - 指示用于图像重新取样的算法类型的标志。 返回:图像的缩放版本。 功能算法设计与实现 2.图像旋转扭曲算法设计 图像都是由像素组成的,图像的旋转是一种几何变换,因此图像旋转只是图像每个像素发生了位置的变换。本软件的图像旋转的基本设计是先获取图像的像素数据生成数组,然后通过操作像素数组来控制图像变化。可以使用java中的PixelGrabber类来获取图像的像素数据生成数组,然后使用MemoryImageSource类来操纵像素数组来达到图像旋转或变形的目的。 旋转本质就是找到原点(x,y)的新位置(x,y),然后把原点的像素复制到目标点,那么它的基本算法是先设置算转角度b,然后再结合三角函数可以得到(x,y),公式是: x = x*cos(b) - y*sin(b); y = y*cos(b) + x*sin(b); 同理图像扭曲的算法与旋转类似,只要将每个点x和y不规则旋转形成扭曲的效果。 滤镜处理设计与实现 复古滤镜(灰度处理) 算法原理:彩色照片每一个像素的颜色值由红、绿、蓝三种值混合而成,红绿蓝的取值分别由很多种,于是像素的颜色值也可以有很多种颜色值,这就是彩色图片的原理,图像灰度化就是使色彩的三种颜色分量R、G、B的值相同,由于颜色值的取值范围是[0,255],灰度级别只有256中,即灰度图象仅能表现256种灰度颜色,留下的只有亮度值,视觉上看上去就是灰色的图片。 灰度处理常用三种方法: 最大值法:即新的颜色值R=G=B=Max(R,G,B),这种方法处理的图像亮度偏高 [6]。 平均值法:即新的颜色值R=G=B=(R+G+B)/3,这样处理的图片十分柔和[6]。 加权平均值法:即新的颜色值R=G=B=(R * Wr+G*Wg+B*Wb),一般由于人眼对不同颜色的敏感度不一样,所以三种颜色值的权重不一样,一般来说绿色最高,红色其次,蓝色最低,最合理的取值分别为Wr = 30%,Wg = 59%,Wb
文档评论(0)