5

IOI 2013 の 2 番目の問題は次のように述べています。

美術史の試験が近づいていますが、学校では美術の授業よりも情報学に注意を払っています。試験を受けるには、プログラムを作成する必要があります。

試験はいくつかの絵で構成されます。各絵画は、1、2、3、4 の番号が付けられた 4 つの特徴的なスタイルの 1 つの例です。スタイル 1 には、新生物の現代美術が含まれています。スタイル 2 には、印象派の風景が含まれています。スタイル 3 には、表現主義のアクション ペインティングが含まれています。スタイル 4 には、カラー フィールド ペインティングが含まれています。

あなたの仕事は、与えられた絵画のデジタル画像から、その絵画がどのスタイルに属しているかを判断することです。

画像はピクセルの H×W グリッドとして与えられます。イメージの行には上から下に 0、…、(H 1) の番号が付けられ、列には左から右に 0、…、W 1 の番号が付けられます。ピクセルは、画像の各ピクセルの赤、緑、青の量をそれぞれ表す 2 次元配列 R 、 G 、および B を使用して記述されます。これらの量の範囲は 0 (赤、緑、または青なし) から 255 (赤、緑、または青の最大量) です。

実装 次のように、関数 style() を実装するファイルを送信する必要があります。

int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]);

この関数は、画像のスタイルを決定する必要があります。パラメータは次のとおりです。

  • H: 画像内のピクセルの行数。
  • W: 画像内のピクセルの列数。
  • R: サイズ H×W の 2 次元配列で、画像の各ピクセルの赤の量を示します。
  • G: サイズ H×W の 2 次元配列で、画像の各ピクセルの緑の量を示します。
  • B: サイズ H×W の 2 次元配列で、画像の各ピクセルの青の量を示します。

例の写真は問題の PDFにあります

既製のプログラムは必要ありません。私はこれが解決されるかもしれないことについて無知であるため、私が始めるためのヒントが1つか2つあればいいでしょう.

4

2 に答える 2

15

画像データはRGB形式で提供されますので、まずYUVで同じ画像データのコピーを用意してください。画像の特徴の一部は Luma(Y) および Chroma(U,V) マップで簡単に識別できるパターンであるため、これは不可欠です。

提供されたサンプルに基づいて、アートの各「スタイル」の顕著な特徴の一部を以下に示します。


Style1 - 新生物現代美術

新生物現代美術

  • 粒状性ゼロ- 均一な Luma(Y) で広い領域をチェック
  • 領域の端にある黒いピクセル(異なる彩度間の遷移)。

Style2 - 印象派の風景

印象派の風景


Style3 - 表現主義のアクション絵画

表現主義のアクション絵画


Style4 - カラーフィールドペインティング

カラーフィールドペインティング

  • 粒状性ゼロ- 均一な Luma(Y) で広い領域をチェック
  • 異なる彩度間の遷移に黒 (または黒に近い) ピクセルはありません。

入力画像がこれらのクラスの 1 つに属している限り、上記の特徴を識別するために実装された関数を使用して画像データを実行することにより、問題なく分類できます。

基本的に、次のコードフローに要約されます。

  • 画像の輝度は均一ですか?
    • (はいの場合)画像のクロマ トランジションに黒いピクセルがありますか?
      • (はいの場合) Style1
      • (いいえの場合) Style4
    • (いいえの場合)画像が緑っぽいですか?
      • (はいの場合) Style2
      • (いいえの場合) Style3
于 2013-08-02T08:55:41.367 に答える
0

色と形を使って最初のアプローチを行うことができるかもしれません... ネオ プラスチック モダンでは、カラー フィールド ペインティングのように幾何学的領域を占める色の数が少ない可能性があります。

これにより、スタイル 1 および 4 とスタイル 2 および 3 を区別する方法が得られる場合があります。

スタイル 1 と 4 では、同じ色の広い領域がありますが、スタイル 4 では、色が無地になることはめったになく、色の色合いのブラシ ストロークです。

とにかく、通常の色と方法である各スタイルの特殊性を調べてから、関数がそれを「見る」ようにする必要があります。

于 2013-08-02T08:34:57.870 に答える