読者です 読者をやめる 読者になる 読者になる

GeoJackass

ちゃらんぽらんの絶対領域は、是を頑なに堅持

ダイヤモンドは砕けない -爺さんの顔を反転させて学ぶGIS prerequisite-

こんばんわ!!

元気があれば、何でもできる。

そんなわけで、本日はGIS操作のために必要なデータの前処理に関するあれこれを、ちょっと御爺さんの顔を使って画像処理を行うことで学んでみたいと思います。

Q1.何でGISなのに御爺さんの顔なんですか??
A1.実に真っ当な質問ですね。地図とか測量データとか一部フリーなものもあるけど、もう想像も出来ないような巨額のマネーと世界各国の国防や利権や著作権やあれやこれやで超大変だから...理由は、だから。

はい、で、何をするかと言いますと、ラスター画像のベクタライズですね。 この時に、何かしらんが画像が反転する。これをどうにかせにゃいかん。んで、処理する画像が1枚だけならまぁいいけど、複数枚の画像を渡されることを想定して、自動処理も書いておこう。まさしく転ばぬ先の杖!!

目標

f:id:GeoJackass:20140516012211p:plain

  • この御爺さんのラスター画像をベクターデータにします。
  • そして、自動処理で複数枚程度のものを一括変換できるようにします。

重要なことは

  • トポロジー・アフィン・線形変換が分からなくても出来ること。
  • 手段として、極めて単純な数学的な展開を行う。

y=f(x)をx軸に関して対称移動 → y=-f(x)

最初の御爺さんの画像をそのまま読み込ませてみましょう。

f:id:GeoJackass:20140516012600p:plain

見事に反転してますね。そうです、単純な写像です。まともに取り合うならば、アフィンとか写像、射影、トポロジー的なその辺の知識が必要です。
ここで注意するのは、y=f(x)をx軸に関して対称移動 → y=-f(x)な点ですね

え??上下が変わってるっていうこと??と思って回転させてしまった場合。

f:id:GeoJackass:20140516012736p:plain

それはローテーションだった。つまり、結果が以下のようになったのであります。

f:id:GeoJackass:20140516013945p:plain

残念。今度は左右が反転している。

行うべきことは、それはflipだ!!

はーい??バブー、ちゃー!!

convert -flip [変更元画像name.codec] [変更後画像name.codec]

要するに、この御爺さんの画像がjiji.pngとかいう名前で保存されてたら、

convert -flip jiji.png jiji_flip.png

で、

f:id:GeoJackass:20140516014521p:plain

この状態にしておいて

f:id:GeoJackass:20140516014551p:plain

やった、できた。うぇーい。

念のため 自動処理も書いておこう、いつかの自分のために...そして私と同じ過ちを、誰かが繰り返さぬように

gist7fdce3e8aa868b5f4cd3

画像引用

作者はいずれ大物漫画家になる ©白粉御坊先生 の画像を拝借しました
ロレッタと死界召喚術..[新都社]
本人には確認取ってます(念のため)