2014年度期末試験問題

情報メディア学科2年後期
画像情報処理期末試験問題
注意事項:自筆のノートのみ持込み可
解答用紙のみ提出し、問題用紙は持ち帰ること
赤が色値(255,0,0)、緑が色値(0,255,0)、青が色値(0,0,255)で表されるときに、次の色は
どのような色値で表されるか解答せよ。
(1)白 (2)黒 (3)シアン (4)マゼンタ (5)イエロー
選択肢
①
(0,0,0)
⑤
(255,255,0) ⑥
②
(255,0,0)
③
(255,0,255) ⑦
(0,255,0)
④ (0,0,255)
(0,255,255) ⑧ (255,255,255)
(6) 3 チャンネルのカラー画像で各色の取りうる値が0~255である場合、1画素あ
たりデータのサイズは何ビットになるか。
選択肢
①
(7)
32ビット ②
24ビット ③
16ビット ④ 8ビット
幅640ピクセル、高さ480ピクセルのカラー画像(RGBの3チャンネルで
各色の取りうる値は0~255)のデータサイズは何バイトになるか。
選択肢
①
7,372,800 バイト
②
1,228,800 バイト
③
921,600 バイト
④
307,200 バイト
次の画像形式についての説明として正しいものをすべて選択せよ。
(8)BMP
(9)JPEG
(10)GIF
(11)PNG
選択肢
①
Windows の標準フォーマットであり、基本的には非圧縮の画像形式である
②
利用できる色数が最大でも256色と少ない
③
Web 向けのフォーマットであり、可逆圧縮を行っている
④
圧縮率を上げるとエッジがボケ、ブロックノイズが発生する
⑤
濃淡画像や二値画像を扱うための形式でカラー画像を扱うことができない
⑥
画質の劣化なしにフルカラーの画像を扱うことができる
⑦
画質が劣化するがファイルサイズが小さくなり写真などに向いている
1
(12) 座標(i,j)の画素値を 1 次元配列 data[j*WIDTH+i]に格納するようなデータ構造で
は、幅 640 ピクセル高さ 480 ピクセルの画像の座標(15,10)の画素値は配列のどの場所
に格納されるか(一番左上の画素を原点(0,0)とする)
。
選択肢
① data[25]
② data[150]
③ data[6415]
(13) 右図のような二値画像があったとする。1 画
素の画素値を 1 ビットで表すデータ構造では 1 行目
はどのように記述されるか。なお、上位ビットが左
の画素で下位ビットが右の画素を表すものとする。
選択肢
④ data[19650]
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
①
0x31
②
0x3f
0
1
0
0
0
1
0
0
③
0x78
④
0xff
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
(14) HSV色空間は「色相」
、
「明度」、
「彩度」で
色を表す。HとSとVの意味を正しく表しているも
のを選択せよ。
選択肢
①
Hが「色相」
、Sが「明度」
、Vが「彩度」を表す
②
Hが「明度」
、Sが「色相」
、Vが「彩度」を表す
③
Hが「彩度」
、Sが「明度」
、Vが「色相」を表す
④
Hが「色相」
、Sが「彩度」
、Vが「明度」を表す
⑤
Hが「明度」
、Sが「彩度」
、Vが「色相」を表す
⑥
Hが「彩度」
、Sが「色相」
、Vが「明度」を表す
画像データが右のような構造で格納されてい
typedef struct color {
るとする。この時に以下のC言語で書かれたコ
unsigned char r;
ードが何を行っているか選択肢より選択せよ。
unsigned char g;
なお以下のコードでは、変数の定義等で類推可
unsigned char b;
能なものに関しては特に宣言を記述していない。 } COLOR;
また、エラー処理のような細かな処理の一部も
COLOR data[WIDTH][HEIGHT];
省略している。
(15)
for (i = 0; i < WIDTH; i++) {
for (j = 0; j < HEIGHT; j++) {
outdata[i][j].r = data[i][j].r;
outdata[i][j].g = 0;
2
outdata[i][j].b = 0;
}
}
選択肢
①
カラー画像から赤色成分だけを抜き出している
②
カラー画像から濃淡画像を作成している
③
平滑化処理を行っている
④
ラベリングによって求まった最大領域を抽出している
⑤
周波数領域の処理で高周波成分を除去している
(16)
for (i = 0; i < WIDTH; i++) {
for (j = 0; j < HEIGHT; j++) {
tmp = data[i][j].r*0.299 + data[i][j].g*0.587 + data[i][j].b*0.114;
outdata[i][j].r = tmp;
outdata[i][j].g = tmp;
outdata[i][j].b = tmp;
}
}
選択肢
①
カラー画像を二値化している
②
カラー画像から濃淡画像を作成している
③
ラプラシアンフィルタによってエッジを抽出している
④
メディアンフィルタによってノイズを除去している
⑤
RGBからHSVに色を変換している
(17)
for (i = 0; i < WIDTH; i++) {
for (j = 0; j < HEIGHT; j++) {
tmp = data[i][j].r * 1.5 - 63;
if (tmp < 0) tmp = 0;
else if (tmp > 255) tmp = 255;
outdata[i][j].r = (int)tmp;
tmp = data[i][j].g * 1.5 - 63;
if (tmp < 0) tmp = 0;
else if (tmp > 255) tmp = 255;
outdata[i][j].g = tmp;
3
tmp = data[i][j].b * 1.5 - 63;
if (tmp < 0) tmp = 0;
else if (tmp > 255) tmp = 255;
outdata[i][j].b = (int)tmp;
}
}
選択肢
①
カラー画像を二値化している
②
細線化処理を行っている
③
二値画像に対して膨張・収縮処理を行っている
④
コントラストを強調している
⑤
ソーベルフィルタによってエッジを抽出している
(18)
unsigned char bw[WIDTH][HEIGHT];
int array[WIDTH][HEIGHT] = { 0 };
int num = 0;
void f(int x, int y, int n) {
array[x][y] = n;
if (bw[x-1][y] == 0 && array[x-1][y] == 0) f(x-1, y, n);
if (bw[x+1][y] == 0 && array[x+1][y] == 0) f(x+1, y, n);
if (bw[x][y-1] == 0 && array[x][y-1] == 0) f(x, y-1, n);
if (bw[x][y+1] == 0 && array[x][y+1] == 0) f(x, y+1, n);
}
int main() {
途中省略
for (j = 0; j < HEIGHT; j++) {
for (i = 0; i < WIDTH; i++) {
tmp = (data[i][j].r+data[i][j].g+data[i][j].b)/3;
if (tmp > THRESHOLD) bw[i][j] = 255;
else bw[i][j] = 0;
}
}
4
for (j = 0; j < HEIGHT; j++) {
for (i = 0; i < WIDTH; i++) {
if (bw[i][j] == 0 && array[i][j] == 0) {
num++;
f(i, j, num);
}
}
}
選択肢
①
Hilditch の細線化アルゴリズムを使って二値化した画像を細線化している
②
二値化した画像に対して再帰を使ってラベリングしている
③
いくつかの領域に分割後、各領域を FFT で周波数領域に変換している
④
画像の濃度値を反転させた後にある閾値で二値化処理を行っている
⑤
テンプレートマッチングによって特定のパターンを抽出している
3×3 の領域に対する線形フィルタ処理を行うとする。以下のオペレーターがどのような
フィルタか解答せよ。
(19)
(20)
(21)
0.1
0.1
0.1
1
1
1
0
-1
0
0.1
0.2
0.1
1
-8
1
-1
5
-1
0.1
0.1
0.1
1
1
1
0
-1
0
選択肢
①
高域通過フィルタ
②
鮮鋭化フィルタ
③
平滑化フィルタ
④
メディアンフィルタ
⑤
ソーベルフィルタ
⑥
ラプラシアンフィルタ
周波数領域への変換に関する以下の説明の空欄に適する言葉を選択肢から選択せよ。
任意の周期関数 f(x)は(22)によって基本周波数成分とその高調波の和として表現
することができる。その周波数領域への変換が(23)である。特にデジタル信号に
対する(23)が(24)である。デジタル画像のような 2 次元のデータに対する(2
4)の計算量は O(N4)である。この計算量を削減するために考案されたアルゴリズムが
(25)である。この時、計算量は O(2N2log2N)となる。
選択肢
①
フーリエ変換
②
フーリエ逆変換
③ 高速フーリエ変換
④
離散フーリエ変換
⑤
フーリエ級数展開
⑥ 畳み込み積分
5
次のC言語のコードは最近傍法と呼ばれる画像の拡大・縮小アルゴリズムの一部である。
幅 WIDTH1、高さ HEIGHT1 の画像を幅 WIDTH2、高さ HEIGHT2 に変更する。コード
の抜けている部分に合うものを選択肢から選べ。
COLOR data1[WIDTH1][HEIGHT1];
COLOR data2[WIDTH2][HEIGHT2];
-------------------------------------------------------------------------------------------------------------for (i = 0; i <(26); i++) {
for (j = 0; j < (27); j++) {
x = (double)(28)/(WIDTH2-1)*((29)-1)+0.5;
y = (double)(30)/(HEIGHT2-1)*((31)-1)+0.5;
data2[i][j].r = data1[(32)][(33)].r;
data2[i][j].g = data1[(32)][(33)].g;
data2[i][j].b = data1[(32)][(33)].b;
}
}
選択肢
①
WIDTH1
②
WIDTH2
③
HEIGHT1
④ HEIGHT2
⑤
i
⑥
j
⑦
x
⑧ y
次の説明文と最も関係が深い用語を選択肢から一つ選び解答せよ。
(34) 画素値の頻度(その画素値を持つ画素の個数)を求めたグラフ
(35) 任意の線形変換と平行移動を組み合わせた変換
(36) 同じ連結成分を構成する画素に同じ番号を付ける処理
(37) 連結成分の連結性を保存したまま画素を削る処理
(38) 横方向の 2 次微分と縦方向の 2 次微分の和
(39) 濃淡画像の色の違いを識別しやすくする処理の一種
選択肢
①
ヒストグラム
②
疑似カラー
③ アフィン変換
④
ラプラシアンフィルタ
⑤
ラベリング
⑥ モード法
⑦
フーリエ変換
⑧
細線化
⑨ ローパスフィルタ
6