PCで書いているアプリケーションの目として、この電話アプリを使用しています。ウェブカメラ アプリを使用すると、インスタント ショットを jpeg 形式でダウンロードできます。これらのショットの画像処理を行う必要があります。そのためには、生データ配列、つまり画像を表すピクセルのマトリックスを手に入れたいと考えています。これはどのように行うことができますか?
2 に答える
最も簡単な方法は
ImageIO.read(new File("Image.jpeg"))
を取得しBufferedImage
ます。を使用すると、パフォーマンスが向上したり、BufferedImage
使用したりできます。さらに、これが最速であることがわかったオプションです(ただし、もう少し手間がかかります)。getRGB(int x, int y)
getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
getRaster()
ピクセルを設定するには、同様のsetRGB
方法があります。
編集: ImageIO
ですjavax.imageio.ImageIO
。
おそらく、開始するのに最適なポイントは、画像形式の仕様に関するいくつかの単語を読むことです。それらは、さまざまな形式でデータがどのように保存されるかを説明する必要があります。その知識があれば、本当に気が向いたら自分でパーサーを書くことができます。
ただし、前もって考えてください。jpeg は、ビットマップ イメージなどの単なるピクセルのラスター マトリックスではありません。
ほとんどの場合、生データを自分で操作する代わりに、画像処理ライブラリを使用することになります。このアプローチははるかに便利で、エラーが発生しにくくなっています。