?? programming in java advanced imaging3.htm
字號:
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#56858">Section
3.3.1, "Rendered Graphs</A>"). There are two ways of producing a rendering of
a <CODE>RenderedOp</CODE>:
<P>
<UL>
<LI>Implicit - Any call to a <CODE>RenderedImage</CODE> method on a
<CODE>RenderedOp</CODE> causes a rendering to be created. This rendering
will usually consist of a chain of <CODE>OpImage</CODE>s with a similar
geometry to the <CODE>RenderedOp</CODE> chain. It may have more or fewer
nodes, however, since the rendering process may both collapse nodes together
by recognizing patterns, and expand nodes by the use of the
<CODE>RenderedImageFactory</CODE> interface. The
<CODE>OperationRegistry</CODE> (described in <A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Extension.doc.html#47227">Chapter
14</A>) is used to guide the <CODE>RenderedImageFactory</CODE> selection
process.
<P></P></LI></UL>
<UL>
<LI>Explicit - A call to <CODE>createInstance</CODE> effectively clones the
<CODE>RenderedOp</CODE> and its source <CODE>RenderedOp</CODE>s, resulting
in an entirely new Rendered chain with the same non-<CODE>RenderedOp</CODE>
sources (such as <CODE>TiledImage</CODE>s) as the original chain. The bottom
node of the cloned chain is then returned to the caller. This node will then
usually be implicitly rendered by calling <CODE>RenderedImage</CODE> methods
on it.
<P></P></LI></UL><CODE>RenderedOp</CODE>s that have not been rendered may have
their sources and parameters altered. Sources are considered evaluated as soon
as they are connected to a <CODE>RenderedOp</CODE>.
<P><A name=55112>
<H2>3.6 <IMG src="Programming in Java Advanced Imaging3.files/space.gif">JAI
API Operators</H2></A>The JAI API specifies a core set of image processing
operators. These operators provide a common ground for applications
programmers, since they can then make assumptions about what operators are
guaranteed to be present on all platforms.
<P>The general categories of image processing operators supported include:
<P>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#55124">Point
Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#55826">Area
Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#60616">Geometric
Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#60618">Color
Quantization Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#55610">File
Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#55692">Frequency
Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#55775">Statistical
Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#55826">Edge
Extraction Operators</A>
<P></P></LI></UL>
<UL>
<LI><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#63124">Miscellaneous
Operators</A>
<P></P></LI></UL>The JAI API also supports abstractions for many common types
of image collections, such as time-sequential data and image pyramids. These
are intended to simplify operations on image collections and allow the
development of operators that work directly on these abstractions.
<P><A name=55124>
<H3>3.6.1 <IMG
src="Programming in Java Advanced Imaging3.files/space.gif">Point
Operators</H3></A>Point operators allow you to modify the way in which the
image data fills the available range of gray levels. This affects the image's
appearance when displayed. Point operations transform an input image into an
output image in such a way that each output pixel depends only on the
corresponding input pixel. Point operations do not modify the spatial
relationships within an image.
<P><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Programming-environ.doc.html#64590">Table
3-1</A> lists the JAI point operators.
<P>
<TABLE cellPadding=3 border=3>
<CAPTION><FONT size=-1><B><A name=64590><I>Table 3-1 </I><IMG
src="Programming in Java Advanced Imaging3.files/sm-blank.gif" border=0>
Point Operators </A></B></FONT></CAPTION>
<TBODY>
<TR vAlign=top>
<TH><A name=64596>Operator </A>
<TH><A name=64598>Description </A>
<TH><A name=64600>Reference </A>
<TR vAlign=top>
<TD><A name=64602>Absolute</A><BR>
<TD><A name=64604>Takes one rendered or renderable source image, and
computes the mathematical absolute value of each pixel.</A><BR>
<TD><A name=64609><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#56159">page
177</A></A><BR>
<TR vAlign=top>
<TD><A name=64611>Add</A><BR>
<TD><A name=64613>Takes two rendered or renderable source images, and
adds every pair of pixels, one from each source image of the
corresponding position and band.</A><BR>
<TD><A name=64618><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#56366">page
166</A></A><BR>
<TR vAlign=top>
<TD><A name=64620>AddCollection</A><BR>
<TD><A name=64622>Takes a collection of rendered source images, and adds
every pair of pixels, one from each source image of the corresponding
position and band.</A><BR>
<TD><A name=64627><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#68198">page
168</A></A><BR>
<TR vAlign=top>
<TD><A name=64629>AddConst</A><BR>
<TD><A name=64968>Takes a collection of rendered images and an array of
double constants, and for each rendered image in the collection adds a
constant to every pixel of its corresponding band.</A><BR>
<TD><A name=64636><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#56269">page
167</A></A><BR>
<TR vAlign=top>
<TD><A name=64638>AddConstToCollection </A>
<TD><A name=64978>Takes a collection of rendered images and an array of
double constants, and for each rendered image in the collection adds a
constant to every pixel of its corresponding band.</A><BR>
<TD><A name=64645><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#69890">page
169</A></A><BR>
<TR vAlign=top>
<TD><A name=64647>And</A><BR>
<TD><A name=64988>Takes two rendered or renderable source images and
performs a bit-wise logical AND on every pair of pixels, one from each
source image, of the corresponding position and band.</A><BR>
<TD><A name=64654><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#56569">page
158</A></A><BR>
<TR vAlign=top>
<TD><A name=64656>AndConst</A><BR>
<TD><A name=65000>Takes one rendered or renderable source image and an
array of integer constants, and performs a bit-wise logical AND between
every pixel in the same band of the source and the constant from the
corresponding array entry.</A><BR>
<TD><A name=64663><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#56421">page
159</A></A><BR>
<TR vAlign=top>
<TD><A name=64665>BandCombine</A><BR>
<TD><A name=65010>Takes one rendered or renderable source image and
computes a set of arbitrary linear combinations of the bands using a
specified matrix.</A><BR>
<TD><A name=64672><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Color.doc.html#51591">page
141</A></A><BR>
<TR vAlign=top>
<TD><A name=64674>BandSelect</A><BR>
<TD><A name=65030>Takes one rendered or renderable source image, chooses
N bands from the image, and copies the pixel data of these bands to the
destination image in the order specified.</A><BR>
<TD><A name=64681><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#63344">page
185</A></A><BR>
<TR vAlign=top>
<TD><A name=64683>Clamp</A><BR>
<TD><A name=65036>Takes one rendered or renderable source image and sets
all the pixels whose value is below a low value to that low value and
all the pixels whose value is above a high value to that high value. The
pixels whose value is between the low value and the high value are left
unchanged.</A><BR>
<TD><A name=64690><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#56747">page
184</A></A><BR>
<TR vAlign=top>
<TD><A name=64692>ColorConvert</A><BR>
<TD><A name=65046>Takes one rendered or renderable source image and
performs a pixel-by-pixel color conversion of the data.</A><BR>
<TD><A name=64699><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Color.doc.html#51551">page
140</A></A><BR>
<TR vAlign=top>
<TD><A name=64701>Composite</A><BR>
<TD><A name=65056>Takes two rendered or renderable source images and
combines the two images based on their alpha values at each
pixel.</A><BR>
<TD><A name=64708><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-enhance.doc.html#61005">page
243</A></A><BR>
<TR vAlign=top>
<TD><A name=64710>Constant</A><BR>
<TD><A name=65062>Takes one rendered or renderable source image and
creates a multi-banded, tiled rendered image, where all the pixels from
the same band have a constant value.</A><BR>
<TD><A name=64717><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Acquisition.doc.html#72170">page
123</A></A><BR>
<TR vAlign=top>
<TD><A name=64719>Divide</A><BR>
<TD><A name=65072>Takes two rendered or renderable source images, and
for every pair of pixels, one from each source image of the
corresponding position and band, divides the pixel from the first source
by the pixel from the second source.</A><BR>
<TD><A name=64726><A
href="http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-manipulation.doc.html#63828">page
171</A></A><BR>
<TR vAlign=top>
<TD><A name=64728>DivideByConst</A><BR>
<TD><A name=65084>Takes one rendered source image and divides the pixel
values of the image by a constant.</A><BR>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -