このスライドでは 画像に写った物体のサイズを測定する方法を学びましょう
物体のサイズを測定する方法
使用する画像の確認
元の画像
次の三つの画像を使って、物体のサイズを測定する方法を考えます。
100ピクセルに変換した画像
上の画像を、横10ピクセル×縦10ピクセル=合計100ピクセルに変換したものがこちらです。画質は粗くなりましたが、理論を考えやすくするために、今回はこの100ピクセルで構成された三つの画像をもとに考察を行いましょう。
色のある部分の確認
それぞれの画像は100ピクセルで構成されていますが、ピクセルには「色があるピクセル」と「色がない白い背景のピクセル」があることに注目します。分かりやすいように「色があるピクセル」に番号を付けてみましょう。
「色があるピクセル」の確認(リンゴ編)
このリンゴの場合 100ピクセルのなかで「色があるピクセル」は77個ということですね
「色があるピクセル」の確認(バナナ編)
このバナナは「色があるピクセル」が37個か… リンゴと比べるとだいぶ数が少ないな
「色があるピクセル」の確認(サクランボ編)
サクランボはもっと少なくて26個でした
全部で100ピクセルなので ほとんどが「色がない白い背景のピクセル」ということですね
物体のサイズを測定するには
画像の中にある「色があるピクセル」を数えることで、画像に写った物体のサイズを測定することができそうです。
「色があるピクセル」が多ければ 物体のサイズも大きいと判断するんだな
でも ピクセルの色の有無をどうやってプログラムで判断すればいいんだろう?
ピクセルの色の有無をプログラムで見分けるには、各ピクセルのRGBの情報を使用します。
白色のピクセルは、Rが255、Gも255、Bも255の値になります。つまり、RGBのすべての値が255の場合は「色がない白い背景のピクセル」であり、それ以外の場合は「色があるピクセル」であると判断します。
画像の中にあるすべてのピクセルのRGBを確認して、「色があるピクセル」の割合を計算してくれるプログラムがあれば、画像に写った物体のサイズを測定できそうです。
今回は 画像のファイル名を引数として渡すと 画像に含まれる「色があるピクセル」の割合を戻り値で返す関数を作成しておきました
次のアクティビティでは その関数を使ってプログラミングしましょう