java 图像处理类的方法有哪些
我是想看懂这段代码:http://blog.csdn.net/benweizhu/article/details/7277422但是里面有一些提取像素什么的方法我不知道怎...
我是想看懂这段代码:http://blog.csdn.net/benweizhu/article/details/7277422
但是里面有一些提取像素什么的方法我不知道怎么用啊……比如setPixels、getPixels什么的,希望能有个人把这里面的JAVA自带的函数(也就是方法)给讲解一下,或者发个全一点的链接也行,谢谢了
如果是自己打的不是发链接,采纳时会额外加50分 展开
但是里面有一些提取像素什么的方法我不知道怎么用啊……比如setPixels、getPixels什么的,希望能有个人把这里面的JAVA自带的函数(也就是方法)给讲解一下,或者发个全一点的链接也行,谢谢了
如果是自己打的不是发链接,采纳时会额外加50分 展开
4个回答
展开全部
你是想问这些函数的作用么?
raster.getPixels(0, 0, width, height, pixels);
前面有个image = ImageIO.read(file);还有WritableRaster raster = image.getRaster(); 这两句,是将一个图像文件file载入了,然后用getPixels读取像素的数值,存到pixels数组里面。
getPixels函数调用时,你看到了,是从(0,0)位置到(width, height)的像素,其实就是整个图像了。图像的像素值是以RGB格式保存,每种颜色8位,一个像素通过这三种颜色组合能产生16777216种颜色。所有像素的RGB值存到getPixels这个整数数组里了。
setPixels正好是相反的,它把result中存储的所有像素的RGB值存到图像当中了,那么新的图像就生成了。
其它还有需要说明的么?
raster.getPixels(0, 0, width, height, pixels);
前面有个image = ImageIO.read(file);还有WritableRaster raster = image.getRaster(); 这两句,是将一个图像文件file载入了,然后用getPixels读取像素的数值,存到pixels数组里面。
getPixels函数调用时,你看到了,是从(0,0)位置到(width, height)的像素,其实就是整个图像了。图像的像素值是以RGB格式保存,每种颜色8位,一个像素通过这三种颜色组合能产生16777216种颜色。所有像素的RGB值存到getPixels这个整数数组里了。
setPixels正好是相反的,它把result中存储的所有像素的RGB值存到图像当中了,那么新的图像就生成了。
其它还有需要说明的么?
更多追问追答
追问
谢谢,WritableRaster是什么意思?还有程序中的raster是什么?是一个对象,还是一个变量名什么的?
追答
WritableRaster是一个可写光栅类,raster就是它的实例对象,它承载着一个Image对象,就是一张图片。其实你就把它当成一个点阵图处理器好了,一个个像素都可以修改,都可以随便搞来搞去的,它都可以帮你完成。
展开全部
SampleModel 取样模型
Databuffer 数据缓冲区
Raster 光栅
Sample 样本
band 带
SampleModel是java awt中的一个抽象类,它定义了一个接口,用于提取一幅图像中的像素(pixel)的样本(Sample)。
一幅图像包含了许多数据,而所有的数据是以像素为基本单位来表达的(像素的集合),其中每个像素又由若干样本来构成。
样本(Sample),是指对一幅图像取样得到的属于某个带的单体数据,
而带(band),是一副图像中的特定类型的样本的全体。
例如,1个像素可包含3个样本、分别代表红、绿、蓝这三个基色。于是就说以三基色来定义的一幅图像包含了3个带:第一个带含来自图像中的所有像素的红色样本,第二个带含所有的绿色样本,第三个带含所有的蓝色样本。
内存存放方式:像素可用不同方式来进行存储。如,把一个带的所有像素按顺序进行存放的方式、和把单个像素所含的样本组(例如三基色的三个样本)的各个样本逐组顺序存放的方式,等等。
SampleModel的子类用来指定样本的表达类型(如,是非负的8比特类型byte还是整数类型的16比特short,等),以及样本在内存的存放格式。Java 2D(tm)提供的图像处理内置API不可能支持所有的样品类型,但通常都会支持16比特无符号整数类型(0 -65535)或更低的类型,其中,有些API支持的数据类型会有很多。
1组像素可表示为1个光栅(Raster。例如一个扫描行)。光栅含1个DataBuffer和1个SampleModel。使用SampleModel可以对DataBuffer中的样本进行存取,有些还可能提供机器级别的信息,帮助编程者直接操作DataBuffer中的样品和像素。
SampleModel处理图像通常是后退法。高效的编程是,把SampleModel 转换(cast)到适当的子类,从中提取出直接操作DataBuffer中的像素所需的信息。 请参考
Databuffer 数据缓冲区
Raster 光栅
Sample 样本
band 带
SampleModel是java awt中的一个抽象类,它定义了一个接口,用于提取一幅图像中的像素(pixel)的样本(Sample)。
一幅图像包含了许多数据,而所有的数据是以像素为基本单位来表达的(像素的集合),其中每个像素又由若干样本来构成。
样本(Sample),是指对一幅图像取样得到的属于某个带的单体数据,
而带(band),是一副图像中的特定类型的样本的全体。
例如,1个像素可包含3个样本、分别代表红、绿、蓝这三个基色。于是就说以三基色来定义的一幅图像包含了3个带:第一个带含来自图像中的所有像素的红色样本,第二个带含所有的绿色样本,第三个带含所有的蓝色样本。
内存存放方式:像素可用不同方式来进行存储。如,把一个带的所有像素按顺序进行存放的方式、和把单个像素所含的样本组(例如三基色的三个样本)的各个样本逐组顺序存放的方式,等等。
SampleModel的子类用来指定样本的表达类型(如,是非负的8比特类型byte还是整数类型的16比特short,等),以及样本在内存的存放格式。Java 2D(tm)提供的图像处理内置API不可能支持所有的样品类型,但通常都会支持16比特无符号整数类型(0 -65535)或更低的类型,其中,有些API支持的数据类型会有很多。
1组像素可表示为1个光栅(Raster。例如一个扫描行)。光栅含1个DataBuffer和1个SampleModel。使用SampleModel可以对DataBuffer中的样本进行存取,有些还可能提供机器级别的信息,帮助编程者直接操作DataBuffer中的样品和像素。
SampleModel处理图像通常是后退法。高效的编程是,把SampleModel 转换(cast)到适当的子类,从中提取出直接操作DataBuffer中的像素所需的信息。 请参考
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
javax.imageio.ImageIO;
java.awt.Image;等等,还有其他的jar包
java.awt.Image;等等,还有其他的jar包
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额 。。。。。。。。。。。难度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询