私はインデックス画像を持っており、bufferedImage
にRGBまたはBGR色空間があるかどうかを確認しようとしています。Java:BufferedImageがBGRかRGBかを確認してください
ColorModel colorModel = bufferedImage.getColorModel();
if(colorModel instanceof IndexColorModel) {
// check if the color space for the buffered image is BGR or RGB
}
私は、残念ながら、bufferedImage.getType()
を使用するgetType()
メソッドの戻りTYPE_BYTE_INDEXED
を試してみました。この種のbufferedImage
の色空間を確認するにはどうすればよいですか?
ありがとうございますAsoub、Indexed Imageは、パレットの画像に関する有用な情報をインデックス付きパレットに保存しています。画像番号の色(4,16、または256)に関する限定情報が含まれています。 Java APIを使用してソースイメージを作成します(例:colorModel.getRed(dataElements)、イメージの色空間はBGRです)イメージは赤色を取得する代わりに青色を返します。 ;) –
研究者がこの問題を解決するアルゴリズムについて考える必要があるかどうかはわかりません。決定するのが難しく、自分のシステムをトレーニングするために多くの作業が必要になります。または、ヒストグラムを作成し、BGRとRGBカラースペースの性質を調べる。 –
@AhmadどこからbufferedImageを取得しますか?カスタムjavaのようなプログラムの別の部分からロードされている場合は、IndexedBufferの作成方法がわからない(あなたの言ったように...)。あなたはどこからそれを手に入れますか? getRed(.. [])メソッドを試して、青色配列を取得しましたか? – Asoub