final ColorModel cm = asciiCoverage.getColorModel(); final ColorInterpretation colorInterpretation = TypeMap.getColorInterpretation(cm, 0); if (colorInterpretation == null)
RenderedOp op = JAI.create("fileload", filename); // gets the number of channels (R / RGB / RGBA) channels = op.getColorModel().getNumColorComponents(); // gets the depth of each component (16 16 16) depth = new int[channels]; for(int i=0; i<op.getColorModel().getNumColorComponents(); i++) { depth[i] = op.getColorModel().getComponentSize(i); } // gets the BufferedImage image = op.getAsBufferedImage();
public class Main { public static void main(String[] args) throws Exception { BufferedImage original = ImageIO.read(new File("/Users/Nick/Desktop/with_flowers.jpg")); // 300 seems to be a good number final RenderedOp cqImage = ColorQuantizerDescriptor.create( original, ColorQuantizerDescriptor.OCTTREE, new Integer(255), new Integer(300), null, new Integer(2), new Integer(2), null); assert cqImage.getColorModel() instanceof IndexColorModel; final BufferedImage converted = cqImage.getAsBufferedImage(); SwingUtilities.invokeLater(new Runnable() { public void run() { final JFrame f = new JFrame(); f.setTitle("Test"); f.getContentPane().add((new ScrollingImagePanel(converted, 300, 300))); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.pack(); f.setVisible(true); } }); } }
final int outputChannels = classified.getColorModel().getNumComponents(); final int numBands = classified.getSampleModel().getNumBands(); assert outputChannels == 1 || outputChannels == 3 || outputChannels == 4; sd[i] = new GridSampleDimension( TypeMap.getColorInterpretation(classified.getColorModel(), i) .name());
null); sampleModel = tile00.getSampleModel().createCompatibleSampleModel(tileWidth, tileHeight); colorModel = tile00.getColorModel();
final IndexColorModel icm = (IndexColorModel) finalImage.getColorModel(); assertEquals(icm.getRed(4), 255); assertEquals(icm.getRed(2), 255);
IndexColorModel model = (IndexColorModel) torgb.getColorModel(); byte[] reds = new byte[256]; byte[] greens = new byte[256];
@Test public void testNullTileCacheDescriptor() { // Addition of Null TileCache hints RenderingHints hints = new RenderingHints(JAI.KEY_TILE_CACHE, null); // Crop operation(with the descriptor) RenderedOp cropped = CropDescriptor.create(source, 10f, 10f, 20f, 20f, null, null, null, hints); // force to compute the image cropped.getColorModel(); // Check if the Tile Cache is not present assertNull(cropped.getRenderingHint(JAI.KEY_TILE_CACHE)); }
private RenderedOp removeAlphaChannel(RenderedOp renderedOp) throws IOException, RcImagingException { if (renderedOp.getColorModel().hasAlpha()) { if (renderedOp.getColorModel().getColorSpace().getType() == ColorSpace.TYPE_GRAY && renderedOp.getSampleModel().getNumBands() == 2) { else if (renderedOp.getColorModel().getColorSpace().getType() == ColorSpace.TYPE_RGB && renderedOp.getSampleModel().getNumBands() == 4) {
private RenderedOp removeAlphaChannel(RenderedOp renderedOp) throws IOException, RcImagingException { if (renderedOp.getColorModel().hasAlpha()) { if (renderedOp.getColorModel().getColorSpace().getType() == ColorSpace.TYPE_GRAY && renderedOp.getSampleModel().getNumBands() == 2) { else if (renderedOp.getColorModel().getColorSpace().getType() == ColorSpace.TYPE_RGB && renderedOp.getSampleModel().getNumBands() == 4) {
@Test public void testNullTileCache() { // Addition of Null TileCache hints RenderingHints hints = new RenderingHints(JAI.KEY_TILE_CACHE, null); // Parameterblock creation ParameterBlock pb = buildParameterBlock(source, true, false, false); // Crop operation RenderedOp jaiCropped = JAI.create("Crop", pb, hints); // force to compute the image jaiCropped.getColorModel(); // Check if the Tile Cache is not present assertNull(jaiCropped.getRenderingHint(JAI.KEY_TILE_CACHE)); }
private RenderedOp scaleImage(RenderedOp renderedOp, float scale) throws RcImagingException { // Scale ParameterBlock params = new ParameterBlock(); params.addSource(renderedOp); RenderingHints hints = new RenderingHints(null); hints.put(JAI.KEY_REPLACE_INDEX_COLOR_MODEL, true); if (renderedOp.getColorModel().getPixelSize() == 1) { params.add(scale); params.add(scale); return JAI.create("SubsampleBinaryToGray", params, hints); } else if (scale < 1) { params.add((double) scale); params.add((double) scale); return JAI.create("SubsampleAverage", params, hints); } return renderedOp; }
private RenderedOp scaleImage(RenderedOp renderedOp, float scaleX, float scaleY) throws RcImagingException { if (renderedOp.getColorModel().getPixelSize() == 1) { ParameterBlock params = new ParameterBlock(); params.addSource(renderedOp); RenderingHints hints = new RenderingHints(null); hints.put(JAI.KEY_REPLACE_INDEX_COLOR_MODEL, true); params.add(scaleX); params.add(scaleY); return JAI.create("SubsampleBinaryToGray", params, hints); } else { ParameterBlock params = new ParameterBlock(); params.addSource(renderedOp); RenderingHints hints = new RenderingHints(null); hints.put(JAI.KEY_REPLACE_INDEX_COLOR_MODEL, true); params.add((double) scaleX); params.add((double) scaleY); renderedOp = JAI.create("SubsampleAverage", params, hints); // Sometimes the SubsampleAverage op is off by a pixel or so return renderedOp; } }
private RenderedOp toRgb(RenderedOp renderedOp) { if (renderedOp.getColorModel().getColorSpace().getType() == ColorSpace.TYPE_RGB) { return renderedOp; } ColorSpace rgbColorSpace = ColorSpace.getInstance(ColorSpace.CS_LINEAR_RGB); boolean hasAlpha = false; boolean isAlphaPremultiplied = false; int transparency = ColorModel.OPAQUE; int transferType = DataBuffer.TYPE_BYTE; ColorModel rgbColorModel = new ComponentColorModel(rgbColorSpace, hasAlpha, isAlphaPremultiplied, transparency, transferType); SampleModel rgbSampleModel = rgbColorModel.createCompatibleSampleModel(renderedOp.getWidth(), renderedOp.getHeight()); ImageLayout il = new ImageLayout(); il = new ImageLayout(); il.setSampleModel(rgbSampleModel); RenderingHints hints = new RenderingHints(null); hints.put(JAI.KEY_IMAGE_LAYOUT, il); ParameterBlock pb = new ParameterBlock(); pb.addSource(renderedOp); pb.add(rgbColorModel); renderedOp = JAI.create("ColorConvert", pb, hints); return renderedOp; }
final int outputChannels=classified.getColorModel().getNumComponents(); final int numBands=classified.getSampleModel().getNumBands(); assert outputChannels==1||outputChannels==3||outputChannels==4; final GridSampleDimension [] sd= new GridSampleDimension[numBands]; for(int i=0;i<numBands;i++) sd[i]= new GridSampleDimension(TypeMap.getColorInterpretation(classified.getColorModel(), i).name());
@Test public void testTileCache() { // Creation of the Tile Cache TileCache tc = new SunTileCache(); // Addition of the TileCache hints RenderingHints hints = new RenderingHints(JAI.KEY_TILE_CACHE, tc); // Parameterblock creation ParameterBlock pb = buildParameterBlock(source, true, false, false); // Crop operation RenderedOp jaiextCropped = JAI.create("Crop", pb, hints); // force to compute the image jaiextCropped.getColorModel(); // Check if the Tile Cache used is the same assertSame(tc, jaiextCropped.getRenderingHint(JAI.KEY_TILE_CACHE)); }
File file = ImageProductReaderPlugIn.getFile(getInput()); sourceImage = FileLoadDescriptor.create(file.getPath(), null, true, null); ColorModel colorModel = sourceImage.getColorModel(); ColorSpace colorSpace = colorModel.getColorSpace();
if(srcImg.getColorModel().getNumComponents() == 1 )
view = FormatDescriptor.create(image, dataType, hints); assert view.getColorModel() instanceof ComponentColorModel; return createView(coverage, view, null, 2, userHints);
assertNotNull(merged.getColorModel()); if (merged.getSampleModel().getDataType() != DataBuffer.TYPE_SHORT) { assertTrue(!merged.getColorModel().hasAlpha());