




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安电子科技大学信息安全综合实验抗剪切的图像数字水印班 级: 组 员: 专 业: 信息安全 2015年 7 月摘要随着互联网的出现与发展,人们可以把自己创作的图片发到网上供别人欣赏,比如淘宝上的商品效果图片。但这并不安全,自己上传的图片有可能被他人盗取并用作其他商业用途。如果没有一种验证所有权的机制的话,那所属权就很难证明,权益纠纷就很难解决。研究鲁棒数字水印可以将有意义的水印嵌入到要保护的图片中,在需要的时候将水印提取出来以证明图片的所属权。图形处理工具的出现使坏人可以对图片进行一些攻击来破坏水印。为了使图片在被恶意剪切之后还能从中提取出水印,保护版权,我们就需要研究抗剪切的数字水印。 我们
2、研究的是抗剪切的彩色鲁棒数字水印,载体图片和水印图片都是彩色图片,水印嵌入后对载体图片进行剪切攻击依然可以从中提取出水印。主要思想是从两张彩色图片中分别提取出R、G、B三种颜色的矩阵,对他们进行处理后再合成为彩色图片,这样就可以把对彩色图片的处理转化为对灰度图片的处理。采用的主要方法是快速DCT变换、Arnold置乱变换。按照这样的思路,我们把水印置乱然后按照一定的算法嵌入到分块处理好的载体图片中,可以从中提取到比较清晰的水印。对处理后的图片进行剪切,也能从中提取出比较模糊的水印,达到证明的效果。关键词:数字水印 彩色图片 抗剪切 DCT变换SummaryWith the emergence
3、and development of the Internet, people can create their own images sent to the Internet for others to enjoy, such as Taobao commodity effect on the picture. But this is not safe, your uploaded pictures may be stolen and used for other commercial purposes others. If there is no mechanism to verify o
4、wnership of one, then it is difficult to prove ownership, rights disputes difficult to resolve. Robust digital watermark embedding can be meaningful to the picture you want to protect, when needed to extract the watermark pictures to prove ownership. It appears graphics processing tools can make the
5、 bad guys on the picture to some attacks to destroy the watermark. To make the picture after being maliciously shear extract the watermark to protect copyright, we need to study the shear of the digital watermark.Our study is the color shear robust digital watermarking, vector image and watermark im
6、age is a color image, after embedding of vector image cropping still can extract the watermark. The main idea is to extract from two color pictures were the R, G, B three color matrix, they are processed and then combined into a color image, so that you can put on the color image processing is conve
7、rted to grayscale images deal with. The main method used is the fast DCT transform, Arnold scrambling transformation. According to this idea, we scrambled watermark and then follow a certain algorithm embedded block Deal vector image, you can extract the watermark clearer. Post-processing of image c
8、ut, but also from more obscure extracted watermark, to prove the effect.Key words: Watermarking Colorful image Shearing resistance DCT transformation 目 录第1章 绪论31.1 数字水印研究的背景与简介31.2 数字水印的发展现状31.3 目前主要研究方法31.4 本次实验的研究目标和主要内容5第2章 DCT变换数字水印的主要原理22.1 置乱变换62.2 DCT变换62.3 分块FDCT72.4 图像质量评价方法8第3章 基于DCT域的图像数字
9、水印算法实现93.1 实验的算法设计93.2 水印的置乱变换93.3 水印嵌入位置的选择93.4 水印提取9第4章 实验结果及总结94.1 实验结果分析94.2 实验不足及新想法94.3 实验总结9参考文献10第1章 绪论1.1 数字水印研究的背景与简介随着多媒体技术和网络技术的迅猛发展,网络正渐渐地改变着人们的生活方式,许多问题都有了一个共同的答案-上网。网络上流动的不仅仅是各种文字的信息,更多的是包括声音、图像视频等各种数字的多媒体信息,而且多媒体的信息的内容和交流形式也愈加丰富,达到了前所未有的深度和广度的。人们可以方便快捷地对数字媒体(数字声音、文本、图像和视频)的原文件进行无限制的任
10、意编辑、修改、拷贝和散布。同时也给非法通信、窃取别人的重要信息提供了极大的“便利”。由此引发的数字媒体的知识产权保护和信息安全的问题已经成为数字世界的一个非常重要和紧迫的议题。 数字水印技术作为信息隐藏技术的一部分,可以在不影响数字产品的使用效果的同时保护数字产品所有者的利益,同时可以将其与信息安全的理论相结合更好的保证信息本身的安全和信息传递过程的安全,是一项很值得人们研究的技术。 数字水印中的鲁棒水印(Robust Watermarking),即抗剪切的数字水印,主要用于在数字作品中标识著作权信息,利用这种水印技术在多媒体内容的数据中嵌入创建者、所有者的标示信息,或者嵌入购买者的标示(即序
11、列号)。在发生版权纠纷时,创建者或所有者的信息用于标示数据的版权所有者,而序列号用于追踪违反协议而为盗版提供多媒体数据的用户。 图像隐形水印应具有如下两个基本特性:不可见性(仅从视觉上很难觉察含水印图像和原始图像的区别)和稳健性(含水印图像经过常规的信号处理后,仍能够从中检测到水印的能力)。它们是相互矛盾的,如何采取折衷的办法,在保证水印不可见性的前提下,嵌入尽可能强的水印信息,是数字水印研究中的一个重要问题。1.2 数字水印的发展现状我国在该领域的研究这些年也从跟踪逐步转向自主研究,许多大学和研究所等科研机构纷纷致力于水印技术的研究,并在国内也开办了生产水印产品的公司。但水印在我国还是刚刚起
12、步的一个新领域,还有很多不完善的地方。随着数字化产品在中国的普及,特别是Internet用户的成倍增长以及电子商务的加速发展,在网络上直接销售数字化产品将给商家带来极大的利益,也是中国产品走向世界的极佳途径,我们应该抓住此机遇,研制出自己的数字水印产品,以适应新技术的发展。1.3 目前主要研究方法 数字水印嵌入算发可以基于以下两类:空间域和频域(变换域)。 较早的数字水印算法都是空间域上的,空间域水印处理使用各种各样的方法直接修改图像的像素,将数字水印直接加载在数据上,常用的两种方法分别是:最低有效位方法(Least Significant Bit)和Patchwork方法及纹理块映射编码方法
13、,这两种水印算法的鲁棒性比较弱。 基于变换域的数字水印技术往往采用类似于扩频图像的技术来隐藏水印信息。这类技术一般基于常用的图像变换(基于局部或是全局的变换),这些变换包括离散余弦变换(DCT)、离散小波变换(DWT)、傅氏变换(DFT或FFT)、傅立叶梅林(Fourie-Mellin)变换以及哈达马变换(Hadamard transform)等等。 变换域水印算法就是利用相应的变换方法(DCT、DWT、DFT等)将数字图像的空间域数据转化为相应的频域系数;其次,根据待隐藏的信息类型,对其进行适当编码或变形;再次,确定某种规则或算法,用待隐藏的信息的相应数据去修改前面选定的频域系数序列;最后,
14、将数字图像的频域系数经相应的反变换转化为空间域数据。该类算法的隐藏和提取信息操作复杂,隐藏信息量不能很大,但抗攻击能力强,很适合于数字作品版权保护的数字水印技术中。我们做的是抗剪切的数字水印,所以我们选择了变换域水印算法,经过慎重考虑,我们决定采用DCT变换域方法。下面详细介绍DCT变换的原理: 基于分块的DCT是常用的变换之一,在最早的基于分块DCT的水印技术中,数字水印方案是由一个密钥随机地选择图像的一些分块,在频域的中频上稍稍改变一个三元组以隐藏二进制序列信息。选择在中频分量编码是因为在高频编码易于被各种信号处理方法所破坏,而在低频编码则由于人的视觉对低频分量很敏感,对低频分量的改变易于
15、被察觉。该数字水印算法对有损压缩和低通滤波是稳健的。具体步骤是:先对整个图像进行DCT,然后将水印加载到DCT域中幅值最大的前k个系数上(除去直流分量),通常为图像的低频分量。若DCT系数的前k个最大分量表示为,水印是服从高斯分布的随机实数序列,那么水印的嵌入算法为,其中常数为尺度因子,用来控制水印添加的强度。然后用新的系数做反变换得到水印图像。水印检测函数则是分别计算原始载体图像和水印载体图像的离散余弦变换,并提取嵌入的水印,再做相关检测,以确定水印的存在与否。该算法不仅在视觉上具有数字水印的不可察觉性,而且稳健性非常好,可经受有损JPEG压缩、滤波、D/A和A/D转换及重量化等信号处理,也
16、可经受一般的几何变换如剪切、缩放、平移及旋转等操作。1.4本次实验的研究目标和主要内容 在熟悉数字水印技术、快速DCT变换以及Arnold置乱变换的基础上,设计一个抗剪切的基于DCT域的图像数字水印算法,按照这个算法将水印嵌入进去并提取出来,对嵌入后的图片进行剪切,对比观察提取出来的水印和原始水印。并尝试提出几种新思想,提高数字水印的稳健性。 第二章 DCT变换数字水印的主要原理2.1 Arnold置乱变换本次实验首先要对水印图像进行Arnold变换,Anrold变换是一种数字图像位置置乱技术,它通过像素点的位置移动来改变图像的空间位置关系。对于一幅N*N的正方形数字图像,点P (x,y)变换
17、到P(x,y)的公式为: N为阶数,也是图片的像素数,(x,y)和(x,y)分别为置乱变换前后的位置坐标。不同N下的变换周期不同,128*128的图像进行置乱变换周期为96。 Arnold置乱变换可以将图像的像素矩阵通过变换改变图像中像素的位置,将原来有意义的图像变成一幅毫无规律的图像;具有周期性,可以在置乱次数达到周期时恢复出原始图像,可以找到一个相应的最佳置乱度,将此最佳置乱度作为密钥提取水印可以提高水印的安全性。当水印图像受到攻击时(通常只是一部分遭到损坏或丢失),提取出的水印图像进行反置乱处理后损坏就会分散到整幅图像中,减少了其对视觉的影响,从而提高了水印的鲁棒性。2.2 DCT变换在
18、JPEG各类图像压缩算法中,基于离散余弦变换(DCT ,Discrete Cosine Transform) 的图像压缩编码过程称为基本顺序过程,它应用于绝大多数图像压缩场合, 并且它能在图像的压缩操作中获得较高的压缩比。另外,重构图像与源图像的视觉效果基本相同。DCT变换是在最小均方误差条件下得出的最佳正交变换,且已获得广泛应用, 并成为许多图像编码国际标准的核心。DCT变换的变换核心为余弦函数,计算速度较快, 有利于图像压缩和其他处理。可以将图像的像素矩阵通过变换改变图像中像素MN矩阵的二维离散余弦变换定义为: 其中,f(m, n)是MN矩阵中坐标为(m, n)元素的原始值, F(u, v
19、)是经离散余弦变换后对应值。 对应的DCT逆变换定义为:2.3分块FDCT实现DCT的方法很多,以二维8*8DCT为例,需要作4096次乘法和3584次加法。由于计算量太大,没有实用价值。因而需要使用快速离散余弦变换(FDCT)。 较为常用的方法是利用DCT的可拆分特性,同样以二维8*8DCT为例,先进行8行一维DCT需要64x8次乘法和56x8次加法,再进行8列一维DCT要64x8次乘法和56x8次加法,共需要64x8x2=1024次乘法和56x8x2=896次加法,计算量减少为直接离散余弦变换的设计与实现计算的1/4。 对于一维8点DCT来说,AAN算法通过将最后的缩放和(反)量化合二为一
20、,因此共只需要5次乘法和29次加法。此算法主要缺点是在固定精度的定点运算中,由于缩放和量化相结合导致计算结果不精确。但是它是从一维DCT计算二维DCT运算量最小的方法。 使用LLM算法实现一维8点DCT,共需要11次乘法和29次加法,乘法次数己经达到了理论的极限。二维8*8点DCT采用LLM算法需要16X11=176次乘法和16x29=464次加法。LLM算法并不将最后的缩放和(反)量化合二为一,因此相对于AAN算法能得到较为精确的结果,但相对运算量比较大。 2.4 图像质量评价方法 在比较图像数字水印系统时,需要采用图像质量评价方法来评价数字水印的不可见性。近年来,应用需求地增长使得这方面的
21、研究变得越来越重要。但人类并没有充分地了解自己的视觉特性,因此,到目前为止还没有提出通用的图像质量评价标准。在实际应用中,主要采用两种具有代表性的评价方法:(1)主观性评价方法:指采用主观上打分的方法。主观性评价方法对图像质量评价具有一定的实用价值,但在实际应用中,该方法费时费力,而且具有不同专业背景的人对水印图像的主观评价结果差异很大,因此在实际中很难实现。(2)客观性评价方法:目前有两种基本的客观图像质量评价方法。一种是用数学方法定义的客观图像质量评价方法,例如广泛运用的均方误差、信噪比和峰值信噪比等。另一种是结合人类视觉系统特性的客观图像质量评价方法,该方法计算起来比较复杂。而且,在实际
22、的严格测试中,该方法比基于数学的评价方法(如PSNR)并没有表现出明显的优势。基于数学的图像质量评价方法易计算,且不依赖于视觉环境和观察者个人等特性,因此,在实际中广泛运用。常用的MSE和PSNR基于原始图像和失真图像的像素差值。本次实验采用的方法为主观性评价方法。第3章 基于DCT域的图像数字水印算法实现3.1实验的算法设计水印嵌入: 读取彩色图片和彩色水印的像素并进行颜色分离(R、G、B); 利用Arnold置乱算法对水印的三个矩阵(灰度图像)进行m次置乱(m小于其变换周期); 将彩色图片的三个灰度图分别分块(8*8)并进行FDCT变换,将置乱后的水印分别嵌入其中频分量中,再进行IDCT变
23、换得到嵌入灰度水印的灰度图像; 将三色合成,得到嵌入彩色水印的彩色图像; 进行失真分析同时调整嵌入强度。 基于DCT域的彩色图像数字水印嵌入算法流程图水印提取: 将嵌入水印的图像和原始图像分别进行三色分离; 对每一个通道对应的两个图像分别做分块DCT变换,根据嵌入算法的强度从中抽取水印; 对各通道的水印灰度图像继续置乱,直到置乱次数达到置乱周期,得到三个矩阵; 将三通道的水印信息进行合成,得到水印图像。 基于DCT域的彩色图像数字水印嵌入算法流程图3.2 水印的置乱变换 上文已经提出Arnold置乱变换可以使一幅有意义的图片变得杂乱无章,使嵌入水印后的图片受到攻击后把损坏分散到整幅图像中,并且
24、可以通过置乱周期的整数倍次来恢复出原始图片。对水印进行置乱变换会增强水印的稳健型。我们采用的水印图片是128*128的,Arnold置乱周期为96。对水印分别做76次和96次置乱变换,效果如下: 水印图片 76次置乱后 96次(周期)置乱后 本次实验先对水印进行76次置乱变换嵌入到载体图片中,提取出来的也是置乱76次后的水印,因此要对它继续置乱20次达到周期得到水印图片。3.3 水印嵌入算法及位置的选择DCT域系数分为低频、中频和高频三种,各系数的稳健性不同,对人类视觉的影响也不同。因此,选择不同的系数来嵌入水印会对算法的性能产生不同的影响。通常低频系数集中了信号的大部分能量,水印嵌于此也具有
25、较强的稳健性,但人眼对低频部分的噪声相对敏感;水印嵌入高频系数中有利于提高水印的不可见性,但水印很容易因量化等处理而丢失;直流系数代表了块的平均亮度,水印嵌于其中造成直流系数的改变容易导致分块效应。权衡了水印的不可见性和稳健性,我们选择了5个DCT中频系数来嵌入水印,见下表中的“*”部分,用集合A表示为:A=(3,3),(3,4),(3,5),(4,3),(5,3)* 我们选择加性嵌入算法,对水印图片的每一点的像素重复嵌入五次。在载体图片的每一个DCT分块选出A中的这五个点按照下面的算法嵌入水印图片的一个点的像素: o=o+a*w ;其中a为嵌入强度,o为原始图片的点的像素,w为要嵌入的水印点
26、的像素。通过改变a的大小来平衡入水印后的不可见性和水印的鲁棒性。最简单的思想是嵌入时重复嵌入五次,那么提取时就要得到五次嵌入的平均值作为水印的一个点的像素。实验发现当a大于等于0.02嵌入后的图片就会出现失真;如果a小于0.02提取出来的水印就会不清晰,因此实验中取a为0.021。第4章 实验结果及总结4.1 实验结果分析我们将大小为128*128的水印图片按照加性嵌入的算法(a=0.021)嵌入到1024*1024的载体图片中,效果如下: 原始图片 水印图片 嵌入水印后的图片 提取的水印图片在没有攻击的情况下,水印略微变了一些,但是还是能看出是原来的水印。提高a可以使水印变得更清晰但会降低嵌
27、入水印后的图片的真实性,也是由于算法设计的不够完美。对嵌入后的图片进行剪切攻击,并提取水印,效果如下: 剪切攻击后的图片 提取出的水印图片4.2 实验不足及新想法 虽然勉强可以看出来水印,但是还是有待改进,当时有几个新想法但是能力有限所以没能够做出来,只能在这里提一下。有一个想法是如果坏人不会剪切超过一半的话,可以把水印像素顺着嵌进去一遍,然后再倒着嵌进去一遍,当然一遍可以是对好几个点嵌入。提取的时候先对比两张图片有没有明显的改动,尤其注意要检测的图片的白色像素,如果相对相应的原始图片的像素不是白色就舍去那个点,求其他几个点的平均值作为水印的像素,因为白色的很有可能就是被剪切的点。还有一个想法
28、是坏人拿图片是来用的,应该不会把看上去有用的都剪切掉留下没用的,所以把水印嵌入到最重要的部分也就是最不容易被剪切的位置那样可能会比较安全。4.3 实验总结实验成果展示时,我们演示了将一128*128的水印图片嵌入到1024*1024的宿主图片中,虽然对嵌入强度和嵌入效果还有一些瑕疵,同样,提取出的水印图片也不是很完美,但是,我们基本达到了实验前自己的预想效果。具体效果见视频附录。数字水印技术作为一种新兴的应用技术,一个尚未完善的科学领域,在对研究学者提出严峻挑战的同时,也带来了难得的机遇,因为在一种理论及技术趋于成熟的阶段,正是各种观点百家争鸣的时候,面对这样一个开放的研究体系,真正的突破者往
29、往属于勇往直前的先行者!完成了这次实验,我们不仅在知识方面得到了很大的提升,同时也在团队合作方面有了一定自己的认识,虽然实验结果不是十全十美,但是也是组员们共同的努力,能够完成这次实验真的很开心。参考文献1 杨长生 编著. “图象与声音压缩技术.” 浙江大学出版社. 2000. 4, p. 264-269.2 陈明奇,钮心忻,杨义先. “数字水印的研究进展和应用.” 通信学报,Vol. 22, No. 5, May 2001, p. 71-79.3 王慧琴,李人厚. “一种基于DWT的彩色图像数字水印算法.” 小型微型计算机系统,第24卷 第2期,2003年2月,p. 299-302.4 刘挺
30、,尤韦彦. “一种基于离散小波变换和HVS的彩色图像数字水印技术.” 计算机工程,第19卷 第4期,2003年3月,p. 115-117.5 周翔,段晓辉,王道宪. “利用DCT与小波变换的一种数字水印算法.” 全国第三届信息隐藏学术研讨会(2001年)论文集,北京电子技术应用研究所 主编,西安电子科技大学出版社.6 刘九芬,黄达人,胡军全. “数字水印中的正交小波基.” 电子与信息学报,第25卷 第4期,2003年4月,p. 453-459.7 张春田,苏育挺,管晓康. “多媒体数字水印技术.” 通信学报,Vol. 21, No. 9, September 2000.8 牛夏牧,陆哲明,孙圣
31、和. “彩色数字水印嵌入技术.” 电子学报,2000年9月,Vol. 28 No. 9,p. 10-12.9 Jana Dittmann, Mark Stabenau, and Ralf Steinmetz. “Robust MPEG Video Technologies.” Proc. Of the 6th ACM International Conference on Multimedia, 1998, p. 71-80.10 Xia Xiang-Gen, Charles G. Boncelet, and Gonzalo R. Arce. “A Multiresolution Waterm
32、ark for Digital Images.” Proc. Of IEEE, 1997, p. 548-551.11 Christine I. Podichuk and Wenjun Zeng. “Image-Adaptive Watermarking Using Visual Models.” IEEE Journal on Selected Areas in Communications, Vol. 16, No. 4, 1998, p. 525-539.12 Wengwu Zhu, Zixiang Xiong, and Ya-Qin Zhang. “Multiresolution Wa
33、termarking for Images and Video: A Unified Approach.” Proc. Of International Conference on Image Processing, 1998, Vol. 1, p. 465-468.13 Ioannis Pitas. “A Method for Watermark Casting on Digital Image.” IEEE Trans. On Circuit and Systems for Video Technology, Vol. 8, No. 6, 1998, p. 775-780.14 R. G.
34、 Van Schyndel, A. Z. Tirkel, and C. F. Osborne. “A Digital Watermark.” Proc. Of IEEE, 1994, p. 86-90.*MathTool.java*package watermark;/* * 提供整数到浮点数的变换方法 */public class MathTool /* * 整数矩阵变为浮点数矩阵,返回结果矩阵 * param input * return output */public static double intToDoubleMatrix(int input) int height = inpu
35、t.length; int width = input0.length; double output = new doubleheightwidth; for (int i = 0; i height; i+) / 列 for (int j = 0; j width; j+) / 行 outputij = Double.valueOf(String.valueOf(inputij); System.out.print(outputij+t); System.out.println(); return output; /* * 一维数组转为二维数组 * * param m * param wid
36、th * param height * return */ public static int arrayToMatrix(int m, int width, int height) int result = new intheightwidth; for (int i = 0; i height; i+) for (int j = 0; j width; j+) int p = j * height + i; resultij = mp; return result; /* * 一维数组转换为三维数组 * * param pixels * param width * param height
37、 * return */ public static int getRGBArrayToMatrix(int pixels, int width, int height) / 已知有3个二维数组组成分别代表RGB int result = new int3heightwidth; int temp = new int3width * height; for (int i = 0; i pixels.length; i+) int m = i / 3; int n = i % 3; tempnm = pixelsi; result0 = arrayToMatrix(temp0, width, h
38、eight); result1 = arrayToMatrix(temp1, width, height); result2 = arrayToMatrix(temp2, width, height); return result; /* * 二维数组转为一维数组 * * param m * return */ public static double matrixToArray(double m) int p = m.length * m0.length; double result = new doublep; for (int i = 0; i m.length; i+) for (in
39、t j = 0; j mi.length; j+) int q = j * m.length + i; resultq = mij; return result; /* * 三维数组转为一维数组 * * param m * return */ public static double getRGBMatrixToArray(double m) int width = m0.length; int height = m00.length; int len = width * height; double result = new double3 * len; double temp = new
40、double3len; temp0 = matrixToArray(m0); temp1 = matrixToArray(m1); temp2 = matrixToArray(m2); for (int i = 0; i 3; i+) for (int j = 0; j tempi.length; j+) result3 * j + i = tempij; return result; *ImageTool.java*package watermark;import java.awt.image.BufferedImage; import java.awt.image.WritableRast
41、er; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ImageTool /* * 获取图片 * * param filepath * return */ public static BufferedImage getImage(String filepath) BufferedImage image = null; File file = new File(filepath); try image = ImageIO.read(file); catch (
42、IOException e) e.printStackTrace(); return image; /* * 获取图像文件的像素(图片转换为像素) * * param filepath * param format */ public int getImagePixels(String filepath) BufferedImage image = null; File file = new File(filepath); try image = ImageIO.read(file); catch (IOException e) e.printStackTrace(); WritableRas
43、ter raster = image.getRaster(); / 得到图像的宽度 int width = raster.getWidth(); / 得到图像的高度 int height = raster.getHeight(); / RGB格式图像文件每一个点的颜色由红、绿、蓝三种颜色构成,即实际图像可为3层, / 分别为R,G,B层,因此分解后的文件像素个数是实际坐标高度和宽度的三倍。 int pixels = new int3 * width * height; / 读取坐标的范围是从(0,0)坐标开始宽width,高height raster.getPixels(0, 0, width
44、, height, pixels); return pixels; /* * 得到的彩色图像的RGB三维数组 * param filepath * return RGBPixels */ public static int getRGBPixels(String filepath) BufferedImage x = getImage(filepath); WritableRaster xRaster = x.getRaster(); int xWidth = xRaster.getWidth(); int xHeight = xRaster.getHeight(); int oPixels
45、= new int3 * xWidth * xHeight; xRaster.getPixels(0, 0, xWidth, xHeight, oPixels); int RGBPixels = MathTool.getRGBArrayToMatrix(oPixels, xWidth, xHeight); return RGBPixels; /* * 得到图片类型 * param filepath * return Type */ public static int Type(String filepath) BufferedImage oImage = ImageTool.getImage(
46、filepath); int type = oImage.getType(); return type; /* * 像素转换成图像文件 * * param result * param width * param height * param filepath * param format */ public static void setImage(double result, int width, int height, String filepath, String format, int type) BufferedImage outImage = new BufferedImage(width, height, type); WritableRaster outRaster = outImage.getRa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变电输电考试题及答案
- 保安巡逻考试题及答案
- vb中专考试题及答案
- 安全生产法分级管理制度
- 公司财务进销存管理制度
- 公司商品混凝土管理制度
- 显微器械维护管理制度
- 培训班教师队伍管理制度
- 学校功能室人员管理制度
- 日常教学安全管理制度
- 外科换药拆线技术规范
- 2025年四川泸州市中考数学试卷真题及答案详解(精校打印)
- 2025年辽宁黑龙江吉林内蒙古高考物理试卷真题(含答案详解)
- 2025高考全国二卷语文真题
- 2025年合作并购协议范本
- 江西中考语文试题及答案
- 2025年继续教育公需科目试题及答案
- 公司收购公司部分股权之可行性研究报告
- 曲靖一中2025届高考决胜全真模拟卷(二)化学试题及答案
- 2025-2030中国环戊醇行业市场深度分析及发展趋势与投资战略研究报告
- 高血压RDN介入治疗新进展
评论
0/150
提交评论