
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
一筆書きストロークを表現するために、注目画素から隣接8方向に3ビットコード(0〜7)を割り当てる(チェーンコード)。図の輪郭線を反時計回りにたどったときのコードとして正しいものを選ぶ問題。
チェーンコード(輪郭線を方向コードの列で表す方法)を、図に沿ってたどる問題。
① 輪郭の画素は8個 → 開始点に戻るまで方向コードは8個必要。開始画素(1,0)は最上行なので、上向き(1・2・3)からは始まらない
② ②③は最初が2(上)で範囲外、⑤はコードが5個しかない。残る①④のうち、反時計回り(左下へ下りる)は5で始まる④
確認: 5→(0,1)、7→(1,2)、7→(2,3)、0→(3,3)、0→(4,3)、2→(4,2)、3→(3,1)、3→(2,0)、4→(1,0)に戻る
③ ④
方向コードは、0=右、1=右上、2=上、3=左上、4=左、5=左下、6=下、7=右下。開始画素は(1,0)(列1、行0)。輪郭線のグレーの画素は、(2,0)、(0,1)、(3,1)、(1,2)、(4,2)、(2,3)、(3,3)、(4,3)の8画素。反時計回りにたどる。(1,0)から5(左下)で(0,1)へ。7(右下)で(1,2)へ。7(右下)で(2,3)へ。0(右)で(3,3)へ。0(右)で(4,3)へ。2(上)で(4,2)へ。3(左上)で(3,1)へ。3(左上)で(2,0)へ。4(左)で開始画素(1,0)に戻る。コードの列は、(1,0),5,7,7,0,0,2,3,3,4となり、④が正しい。
チェーンコード=開始点の座標+次の画素への方向コードの列。8方向コード(0=右、反時計回りに1〜7)で、輪郭を少ないビットで表現できる。
キーワード: チェーンコード、鎖符号、輪郭線、画像処理、8方向、輪郭追跡、情報工学部門