Package hipi.image

Examples of hipi.image.ImageHeader


    return static_object;
  }

  @SuppressWarnings("rawtypes")
  public ImageHeader decodeImageHeader(InputStream is) throws IOException {
    ImageHeader header = new ImageHeader(ImageType.JPEG_IMAGE);
    try {
      DataInputStream dis = new DataInputStream(new BufferedInputStream(is));
      dis.mark(Integer.MAX_VALUE);
      short magic = dis.readShort();
      if (magic != -40)
        return null;
      byte[] data = new byte[6];
      // read in each block to find width / height / bitDepth
      for (;;) {
        dis.read(data, 0, 4);
        if ((data[0] & 0xff) != 0xff)
          return null;
        if ((data[1] & 0xff) == 0x01 || ((data[1] & 0xff) >= 0xd0 && (data[1] & 0xff) <= 0xd7))
          continue;
        long length = (((data[2] & 0xff) << 8) | (data[3] & 0xff)) - 2;
        if ((data[1] & 0xff) != 0xc0) {
          while (length > 0) {
            long skipped = dis.skip(length);
            if (skipped == 0)
              break;
            length -= skipped;
          }
        } else {
          dis.read(data);
          header.height = ((data[1] & 0xff) << 8) | (data[2] & 0xff);
          header.width = ((data[3] & 0xff) << 8) | (data[4] & 0xff);
          header.bitDepth = data[0] & 0xff;
          break;
        }
      }
      dis.reset();
      MetadataReader reader = new MetadataReader(dis);
      Metadata metadata = reader.extract();
      Iterator directories = metadata.getDirectoryIterator();
      while (directories.hasNext()) {
        Directory directory = (Directory)directories.next();
        Iterator tags = directory.getTagIterator();
        while (tags.hasNext()) {
          Tag tag = (Tag)tags.next();
          header.addEXIFInformation(tag.getTagName(), tag.getDescription());
        }
      }
    } catch (Exception e) {
    }
    return header;
View Full Code Here


    ImageWriteParam param = writer.getDefaultWriteParam();
    writer.write(null, iioImage, param);
  }

  public ImageHeader createSimpleHeader(FloatImage image) {
    return new ImageHeader(ImageType.JPEG_IMAGE);
  }
View Full Code Here

   */
  public static void convert(
      InputStream image_in, OutputStream image_out,
      ImageDecoder decoder_in, ImageEncoder encoder_out) throws IOException {

    ImageHeader header = decoder_in.decodeImageHeader(image_in);
    FloatImage float_image = decoder_in.decodeImage(image_in);
    encoder_out.encodeImage(float_image, header, image_out);
  }
View Full Code Here

   */
  @Test
  public void testDecodeImageHeader() throws IOException {
    ImageDecoder decoder = JPEGImageUtil.getInstance();
    FileInputStream fis;
    ImageHeader header;
    String[] fileName = {"canon-ixus", "fujifilm-dx10", "fujifilm-finepix40i", "fujifilm-mx1700", "kodak-dc210", "kodak-dc240", "nikon-e950", "olympus-c960", "ricoh-rdc5300", "sanyo-vpcg250", "sanyo-vpcsx550", "sony-cybershot", "sony-d700"};
    String[] model = {"Canon DIGITAL IXUS", "DX-10", "FinePix40i", "MX-1700ZOOM", "DC210 Zoom (V05.00)", "KODAK DC240 ZOOM DIGITAL CAMERA", "E950", "C960Z,D460Z", "RDC-5300", "SR6", "SX113", "CYBERSHOT", "DSC-D700"};
    int[] width = {640, 1024, 600, 640, 640, 640, 800, 640, 896, 640, 640, 640, 672};
    int[] height = {480, 768, 450, 480, 480, 480, 600, 480, 600, 480, 480, 480, 512};
    int[] bit_depth = {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8};
    for (int i = 0; i < fileName.length; i++)
    {
      fis = new FileInputStream("data/test/JPEGImageUtilTestCase/exif/" + fileName[i] + ".jpg");
      header = decoder.decodeImageHeader(fis);
      assertEquals("exif model not correct", model[i].trim(), header.getEXIFInformation("Model").trim());
      assertEquals("width not correct", width[i], header.width);
      assertEquals("height not correct", height[i], header.height);
      assertEquals("bit depth not correct", bit_depth[i], header.bitDepth);
    }
  }
View Full Code Here

    if (_cacheData != null) {
      ImageDecoder decoder = CodecManager.getDecoder(ImageType.fromValue(_cacheType));
      if (decoder == null)
        return null;
      ByteArrayInputStream bis = new ByteArrayInputStream(_cacheData);
      ImageHeader header = decoder.decodeImageHeader(bis);
      bis.close();
      return header;
    }
    return null;
  }
View Full Code Here

 
  @Test
  public void testDecodeImageHeader() throws IOException {
    ImageDecoder decoder = PNGImageUtil.getInstance();
    FileInputStream fis;
    ImageHeader header;
    String[] fileName = {"canon-ixus", "fujifilm-dx10", "fujifilm-finepix40i", "fujifilm-mx1700", "kodak-dc210", "kodak-dc240", "nikon-e950", "olympus-c960", "ricoh-rdc5300", "sanyo-vpcg250", "sanyo-vpcsx550", "sony-cybershot", "sony-d700"};
    int[] width = {640, 1024, 600, 640, 640, 640, 800, 640, 896, 640, 640, 640, 672};
    int[] height = {480, 768, 450, 480, 480, 480, 600, 480, 600, 480, 480, 480, 512};
    int[] bit_depth = {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8};
    for (int i = 0; i < fileName.length; i++)
View Full Code Here

    if (_filesInHar != null) {
      ImageDecoder decoder = CodecManager.getDecoder(ImageType.fromValue(_cacheType));
      if (decoder == null)
        return null;
      ByteArrayInputStream bis = new ByteArrayInputStream(_cacheData);
      ImageHeader header = decoder.decodeImageHeader(bis);
      bis.close();
      return header;
    }
    return null;
  }
View Full Code Here

   *
   * @param is The {@link InputStream} that contains the PNG image
   * @return The {@link ImageHeader} found in the input stream
   */
  public ImageHeader decodeImageHeader(InputStream is) throws IOException {
    ImageHeader header = new ImageHeader();
    DataInputStream in = new DataInputStream(is);
    readSignature(in);

    boolean trucking = true;
    while (trucking) {
View Full Code Here

      return (short) (mData[offset] & 0x00ff);
    }
  }

  public ImageHeader createSimpleHeader(FloatImage image) {
    return new ImageHeader(ImageType.PNG_IMAGE);
  }
View Full Code Here

  public static PPMImageUtil getInstance() {
    return static_object;
  }

  public ImageHeader createSimpleHeader(FloatImage image) {
    return new ImageHeader();
  }
View Full Code Here

TOP

Related Classes of hipi.image.ImageHeader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.