网站大量收购闲置独家精品文档,联系QQ:2885784924

福建省泉州市仰恩大学计算机与信息学院Java程序设计实践(设计实践部分)课件 第六讲 图像像素点的处理.ppt

福建省泉州市仰恩大学计算机与信息学院Java程序设计实践(设计实践部分)课件 第六讲 图像像素点的处理.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6讲 图像像素点的处理 教学目标与要求: 了解图像处理的原理以及双缓冲技术 了解Java捕获屏幕图像的原理 教学重点、难点: 1. 教学重点: 图像处理的原理 图像处理具体执行步骤 双缓冲技术 如何捕获屏幕图像 2.教学难点: 应用双缓冲技术进行图像处理 提问: 当我们成功地加载和显示图像,对所得到的图像的显示效果并不满意的情况下,我们将采取什么的方式来解决,以达到我们想要的显示效果呢? 6.1 图像处理的原理 获取加载了的图像所有像素值,对这些像素值进行相应的处理之后,重构一个新的图像。图像处理的方法有:图像变换、图像编码、图像压缩、图像解码等等。 6.2 图像处理具体执行步骤为: 使用MediaTracker类加载图像 实例化PixelGrabber类 使用其grabPixels()方法抓取图像像素,生成了图像像素数组 对这个数组进行各种变换 通过MemoryImageSource类将数组中的像素值重构一个新的图像 使用paint()将新的图像显示出来 (1) MediaTracker类是一个跟踪多种媒体对象状态的实用工具类。媒体对象可以包括音频剪辑和图像,但目前仅支持图像。 要使用媒体跟踪器,需要创建一个MediaTracker 实例 调用addImage()方法向此媒体跟踪器正在跟踪的图像列表添加一个图像。另外,还可以为每个图像分配一个惟一的标识符,此标识符可控制获取图像的优先级顺序。 调用waitForID()方法开始加载由此媒体跟踪器跟踪且具有指定标识符的所有图像。 其创建格式如下: MediaTracker tracker1=new MediaTracker(this); img=Toolkit.getDefaultToolkit().getImage(a.jpg); //其中0为图像的标识符 tracker1.addImage(img,0); //加载由此媒体跟踪器跟踪且标识符为0的图像 try{ tracker1.waitForID(0); } catch(InterruptedException e) { } (2) 实例化PixelGrabber类,提供了三种不同的构造方式: PixelGrabber (Image?img, int?x, int?y, int?w, int?h, boolean?forceRGB) 创建一个 PixelGrabber 对象,以便从指定的图像中 抓取像素矩形部分(x, y, w, h)。forceRGB为像素的传递方 式,其值为true时,表示以RGB方式传递像素;其值为false 时,表示以图像构造器方式传递像素。 PixelGrabber(Image?img, int?x, int?y, int?w, int?h, int[]?pix, int?off, int?scansize) 创建一个 PixelGrabber 对象,以便从指定的图像中将像 素矩形部分 (x, y, w, h) 抓取到给定的数组中。Off 为存放第 一个像素的位置,通常取0;scansize为每行的像素个数,即 图像的宽度。 PixelGrabber (ImageProducer?ip, int?x, int?y, int?w, int?h, int[]?pix, int?off, int?scansize) ? 创建一个 PixelGrabber 对象,以便从指定 ImageProducer (图像构造器)所生成的图像中将像素矩形部分 (x, y, w, h) 抓 取到给定的数组中。 (3)PixelGrabber类的对象调用grabPixels()方法将抓取到 的图像像素存入数组中,注意要使用try-catch结构。 (4)针对该数组中的像素值,对其进行各种变换,以达 到我们处理图像的目的。比如,可对其RGB值和Alpha 值重新计算和赋值,从而得到一个具有不同透明度与 颜色值的像素数组。 (5)通过MemoryImageSource类构造一个使用变换过的数组为 Image对象生成数据的ImageProducer对象imgprd,调用 createImage(imgprd)方法便可产生一个新图像。 MemoryImageSource类创建格式如下: ImageProducer MemoryImageSource(int?w, int?h, int[]?pix, int?off, int?scan) 构造一个使用默认 RGB ColorModel 中的整数数组为 Image 对象生成数据的 ImageProducer 对象。 (6) 通过pain

您可能关注的文档

文档评论(0)

ormition + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档