2

画像内のすべてのピクセルの平均値を取得する方法はありますか

たとえば、すべて黒の画像がある場合は、次のように入力します。

   *cmd* 黒-img.jpg 

出力は0シェルになります

4

2 に答える 2

5

ああ、これは簡単です:

convert  image.jpg  -scale 1x1\!  txt:-

このコマンドは、ImageMagick を使用しconvertて、入力画像をサイズ 1x1 ピクセルにスケーリングします。8 ビット RGBA 画像の場合、出力は次のようになります。

# ImageMagick pixel enumeration: 1,1,255,srgba
0,0: (151,161,212, 92)  #97A1D45C  srgba(151,161,212,0.361928)

または 8 ビット sRGB 画像の場合:

# ImageMagick pixel enumeration: 1,1,255,srgb
0,0: (229,226,229)  #E5E2E5  srgb(229,226,229)

これは、生成された単一ピクセル イメージの色の値を表します。

  • 0,0:は、このピクセルの座標です: 1 列目の 1 行目。
  • (151,161,212, 92)RGBA ピクセルの R ed、G reen、B lue、および A lpha 値を表します。
  • (229,226,229)sRGB ピクセルのR ed、G reen、および B lue 値を表します。
  • #97A1D45Cおよび#E5E2E5は、それぞれの 16 進数値です。

これが黒いピクセルである場合、この出力を ' a '0'in the shell'に計算するのはあなた自身の仕事です。:-)

于 2012-08-08T23:22:57.340 に答える
1

わかりましたので、元の投稿者は、「画像内のすべてのピクセルの平均値を取得する」ことについて尋ねると、3 つまたは 4 つのカラーチャネル値ではなく、画像を変換することによって導出できる 1 つの値が必要なようです。最初にグレースケールに:

convert  image.jpg  -colorspace gray  -scale 1x1\!  txt:-

他の回答と同じ8ビットRGBA(アルファチャンネル付き)画像のサンプル出力:

# ImageMagick pixel enumeration: 1,1,255,graya
0,0: (119,119,119, 92)  #7777775C  graya(119,119,119,0.361928)

前の 8 ビット sRGB イメージ (アルファ チャネルなし) の出力:

# ImageMagick pixel enumeration: 1,1,255,gray
0,0: (221,221,221)  #DDDDDD  gray(221,221,221)
于 2012-08-09T07:35:01.847 に答える