coursera Algorithmsの課題として、Seam Carving(シームカービング)というアルゴリズムをJavaで実装をした。
写真の縦横幅をトリミングではなくて、見た目的に違和感なくリサイズする技術。2007年に世に出たという、新しめの技術。詳しくはYoutube動画を参照。
アプリなど
iPhoneやAndroidアプリでこういう変換アプリがあればよさそうと探してみたところ、Androiidアプリはすでにある模様。
また、フリーソフトもある。
iPhone写真を変換
というわけで、Javaで実装したコードでiPhoneで撮影した写真を変換してみたので作品紹介。画像データをDAGなグラフと見立てて、端から端で色のグラデーションが少ない部分を幅優先探索で検索するとできる。
ここでは、512x 384 px 画像を、正方形に変換してる。
変換前
変換後
変換前
変換後
変換前
変換後
魔法みたいで面白い!