応用情報技術者過去問題 令和2年秋期 午後問3

問題文解答用紙を別タブで開けます(印刷可能)。

問3 プログラミング

誤差拡散法による減色処理に関する次の記述を読んで,設問1〜4に答えよ。

 画像の情報量を落として画像ファイルのサイズを小さくしたり,モノクロの液晶画面に画像を表示させたりする際に,減色アルゴリズムを用いた画像変換を行うことがある。誤差拡散法は減色アルゴリズムの一つである。誤差拡散法を用いて,階調ありのモノクロ画像を,黒と白だけを使ったモノクロ2値の画像に画像変換した例を図1に示す。
 階調ありのモノクロ画像の場合は,各ピクセルが色の濃淡をもつことができる。濃淡は輝度で表す。輝度0のとき色は黒に,輝度が最大になると色は白になる。モノクロ2値の画像は,輝度が0か最大かの2値だけを使った画像である。
pm03_1.gif/image-size:396×171
〔誤差拡散法のアルゴリズム〕
 画像を構成するピクセルの輝度は,1ピクセルの輝度を8ビットで表す場合,0〜255の値を取ることができる。0が黒で,255が白を表す。誤差拡散法では,次の二つの処理をピクセルごとに行うことで減色を行う。
  1. 変換前のピクセルについて,白に近い場合は輝度を255,黒に近い場合は輝度を0としてモノクロ2値化し,その際の輝度の差分を評価し,輝度の誤差Dとする。
    例えば,変換前のピクセルの輝度が223の場合,変換後の輝度を255とし,輝度の誤差Dは,223−255から,−32である。
  2. 事前に定義した誤差拡散のパターンに従って,評価した誤差Dを周囲のピクセル(以下,拡散先という)に拡散させる。
 拡散先の数が4の場合の,誤差拡散のパターンの例を図2に,減色処理の手順を図3に示す。なお,拡散する誤差の値は整数とし,小数点以下は切り捨てる。
pm03_2.gif/image-size:357×136
pm03_3.gif/image-size:547×226
 図2のパターンを使い,図3の手順に従って,1行目の左上から2ピクセル分の処理をした後,その右隣のピクセル(左上から3ピクセル目)について処理した例を図4に示す。変換前画像の輝度の値が128で,変換後輝度配列の同じ要素の値が−14なので,Fは128+(−14)=114となる。Fが128未満なので,輝度は0,誤差Dは114となる。誤差114に7/16を乗じて,小数点以下を切り捨てた値は49なので,変換後輝度配列の一つ右の要素に49を加算する。同様に,左下には21,下には35,右下には7を加算する。
pm03_4.gif/image-size:551×142
〔誤差拡散法を用いて減色するプログラム〕
 誤差拡散法を用いて減色するプログラムを作成した。プログラム中で使用する主な変数,定数及び配列を表1に,作成したプログラムを図5に示す。
pm03_5.gif/image-size:556×738
〔画質向上のための改修〕
 ピクセルを処理する順番を,Y座標ごとに逆向きにすることで,誤差拡散の方向の偏りを減らし,画質を改善することができる。
  • Y座標が奇数の場合:ピクセルを左から順に処理する。
  • Y座標が偶数の場合:ピクセルを右から順に処理する。
 なお,Y座標が偶数の場合は,誤差拡散のパターンを左右逆にして評価する。画質を向上させるために,図5の①と②の行の処理を書き換えた。書き換えた後の①の行の処理を図6に,書き換えた後の②の行の処理を図7に示す。なお,A mod Bは,AをBで割った余りである。
pm03_6.gif/image-size:532×201
〔処理の高速化に関する検討〕
 図5中の③の箇所では,誤差を拡散させる先のピクセルが画像の範囲の外側にならないように制御している。このような処理をクリッピングという。
 ③のif文は,プログラムの終了までに回呼び出され,その度に,条件判定における比較演算と論理演算の評価が,あわせて最大で回行われる。ここでの計算量が少なくなるようにプログラムを改修することで,処理速度を向上させることができる可能性がある。

設問1

図4の左上から3ピクセル目について処理した後の状態から処理を進め,太枠で示されたピクセルの一つ右隣のピクセルを処理した後の変換後輝度配列について,(1),(2)に答えよ。
  • 減色処理の結果のピクセル(上から1行目,左から4列目の要素)の色を,白か黒で答えよ。
  • (1)のピクセルの処理後に,そのピクセルの下のピクセル(上から2行目,左から4列目の要素)に入る輝度の値を整数で答えよ。

-解答入力欄-

-解答例・解答の要点-

    • 33

-解説-

この設問の解説はまだありません。

設問2

図5中のに入れる適切な字句を答えよ。

-解答入力欄-

  • ア:
  • イ:
  • ウ:

-解答例・解答の要点-

  • ア:bmpFrom[x,y] + bmpTo[x,y]
  • イ:fが128以上
  • ウ:bmpTo[px,py] + (d * ratio[c]/denominator)

-解説-

この設問の解説はまだありません。

設問3

図6,図7中のに入れる適切な字句を答えよ。

-解答入力欄-

  • エ:
  • オ:
  • カ:

-解答例・解答の要点-

  • エ:y
  • オ:2
  • カ:width - tx + 1

-解説-

この設問の解説はまだありません。

設問4

本文中のに入れる適切な字句を答えよ。

-解答入力欄-

  • キ:
  • ク:

-解答例・解答の要点-

  • キ:height×width×ratioCount
  • ク:7

-解説-

この設問の解説はまだありません。
問3成績

令和2年秋期 午後問題一覧

問1 問2 問3 問4 問5 問6 問7 問8 問9 問10 問11 採点講評
© 2010-2021 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop