Above & Beyond

日々のアウトプット記録

golang.tokyo #19

昨日は「golang.tokyo #19」に参加してきました。

golangtokyo.connpass.com

f:id:kabukawa:20181114074750p:plain

先週の marcari.go に引き続きのGo言語の勉強会ですが、こちらは決められたテーマをいろいろな角度から登壇者が知見を共有したりする会というイメージです。同じGoでもこんな使い方があるんだ、というのを知ることができて面白いですね。

会場は Gunosy さん。

f:id:kabukawa:20181114081124j:plain

会場スペースとの間には壁もなく執務スペースが続いていて、拍手とか仕事の邪魔かな、とちょっと緊張しました。

テーマ

今回のテーマは「Goと画像処理」ということで、Go言語で画像処理をする場合の手法や知見が発表されました。

セッション

取り敢えず、会場に入ったら飲み物が提供されました。今回は理由があっていつもとは違うアングルの写真。

f:id:kabukawa:20181113192256j:plain

受付の手続きが当初の案内から少し変更になったことで自分も含めて入場まで少し迷ったりしたのですが、会場はほぼ満席でした。参加者の方も熱心に聞き入っていて、関心の高さが伺えます。


HEAD FIRST GOLANG IMAGE PACKAGE

株式会社Gunosy メディア事業本部 の @timakin さんによる発表。

speakerdeck.com

アジェンダ

  • Imageパッケージの紹介
  • 実例で学ぶImageパッケージ
  • 画像の合成・加工
  • 画像と文字の合成

Image Packageを使った画像処理の話。 ただパッケージの機能説明をしても面白くないだろうということで、以下のような画像を例に説明がされました。

  • 手に持ったオブジェクト(🍺)を 中央に据えながら 写真を撮る撮影技法(?)

つまりこれは。。。

f:id:kabukawa:20181105203542j:plain:w300

こんな感じの画像のことですね!(笑)

何かを手に持った画像と適当な背景画像を合成してそれっぽい画像を作れると便利じゃん!と。 この辺の過程は面白いので是非資料を読んで追ってみてください(笑)


Goにおける画像ファイル処理

ImageFlux事業部部長、ピクシブテクノロジーズ株式会社執行役員 の@harukasan による発表。

speakerdeck.com

ImageFluxの画像変換処理がGoで書かれているということで、そのあたりのお話をしていただきました。

ImageFlux www.sakura.ad.jp

ImageFluxは、1枚の画像をもとに画像の拡大縮小、切り抜き、合成などによりデバイスに最適化された画像を簡単に生成し、高速かつ高品質で配信するクラウドサービス

  • ストレージに入っている画像をそのまま変換して配信できる
  • URLパラメータで変換指定
  • 高速・高品質な配信

CDNで画像の変換を行ってくれるサービスという理解ですが、合っているのかな。。。

内容としては画像のフォーマットの話から変換の処理の流れなど、非常に深いところ(画像変換をしている人にとっては当然なのかもしれませんが)を説明されていて、自分的には興味深く話を聞くことができました。


LT

LTは4本発表がありました。


Goと画像と東京アメッシュ

@otiai10 さんからの発表。

[資料は公開されたら更新します]

f:id:kabukawa:20181113202136j:plain:w600

github.com


goのimagemagicを使ってレンチキュラー写真を作った話

株式会社ノハナ の @junpayment さんからの発表。 視点をずらすと別の画像が表示できるレンチキュラーレンズを使って写真を表示するための画像加工をGoでやってみた話。

docs.google.com


とあるライブラリをGoに移植した結果……

@makki_d さんからの発表。 Javaで実装されたバーコードライブラリをGoに移植している話。

speakerdeck.com


とあるgopherOpenCVをさわってみた話

Yusuke Komatsu さんからの発表。

OpenCVを使って画像から顔画像を切り出すところをGoで実装してみた話。

[資料は公開されたら更新します]

f:id:kabukawa:20181113205312j:plain:w600

まとめ

Goで画像処理、というテーマに対してこれだけの発表ができる多彩さというのは純粋に面白いなぁと思います。 画層処理を行うためのライブラリ(パッケージ)の知識はもちろん、画像に文字を入れる場合はフォント周りの知識も必要ですし、バーコードであればそれ以外の知識も必要。でも、こういうところから学びもあるし、面白いところなんだなぁと感じました。

GoをJupyter notebookで使えるようにするカーネルも作られているようですね。これは使ってみたい。