How to | 画像を部分的に取り出す方法

画像から長方形部分を取り出す操作は,大変よく行われる画像操作タスクである.マウスを使う方法も含めて,この操作を行ういくつかの方法がここでは紹介されている.

ビデオからの例題のいくつかを以下に挙げる.

画像の部分を取り出す方法で最も簡単なのは,ImageCropを使う方法である.デフォルトでImageCropは画像の中心部分から指定の幅と高さの画素を持つ部分領域を切り取る.ImageCropを使って幅が300画素で高さが100画素である画像を切り取る:

In[2]:=
Click for copyable input
Out[2]=

もとの画像の特定の角部分は,対角部分を切り取ることによって選択することができる.画像の右上部分を切り取ることによって,左下端部分を選ぶことができる:

In[3]:=
Click for copyable input
Out[3]=

もとの画像から抽出したい行や列が分かっている場合にはImageTakeを使うとよい.画像の最初の100行を取り出す:

In[4]:=
Click for copyable input
Out[4]=

厳密な領域を選択したい場合には,ImageTakeで特定の始まりと終りの指標を使うこともできる.200行から299行,そして100列から399列にある画像部分を取り出す:

In[5]:=
Click for copyable input
Out[5]=

ImageCropおよびImageTakeは,お互いを補足し合い,広範な機能を提供する.しかし,マウスやその他のポインティングデバイスを使って,インタラクティブに関心領域を選択したい場合はどうであろうか?ほんの数ステップで,簡単にこれを行うことができる.

画像の上にマウスポインタを持ってきて,右クリックで指標を得るを選ぶ.するとマウスポインタは,ツールチップを伴う十字形に変わる.このツールチップにはポインタの現在の行と列の位置が表示される.

画像内の2つの場所を左クリックする.この2つの場所のそれぞれは,希望の長方形領域の一対の角となるものである.入力セルにこれらの座標をコピーおよびペーストするだけでよい.

以下の画像でこれを試してから,次の入力に座標をペーストする:

In[10]:=
Click for copyable input
Out[10]=

座標はの形式で与えられる:

In[1]:=
Click for copyable input

指標を縫い込むか転置するかして,リストをImageTakeで必要なの形式に変換する.Sortを使った操作は,長方形の一対の角を選んだ順序にかかわらず,行と列のリストが必ず昇順になるようにするための操作である:

In[9]:=
Click for copyable input
Out[9]=

今度は選択した領域を取る:

In[10]:=
Click for copyable input
Out[10]=