ステゴカップ

Blume

https://github.com/SakamotoHiroya/blume-lib

Next.js

Flask

Python

JavaScript

Node.js

花の形をした二次元コードです

坂本寛弥

推しアイデア

パーリンノイズのパラメータに情報を埋め込むことにより、画像から情報を読み取れるようにしました!

作った背景

以前勉強したパーリンノイズのアルゴリズムを応用して何か作ってみたいと思ったからです!

推し技術

pythonを用いた境界線抽出やノイズ除去などの画像解析と、パーリンノイズから埋め込んだデータを抽出するアルゴリズムが推し技術です!

プロジェクト詳細

Blume

概要

BlumeはBlumeCode(花の形をした二次元コード)を生成・復号するライブラリと、それらの機能を提供するAPI、Webアプリで構成されます

アルゴリズム

BlumeCode

BlumeCodeは独自に改良したパーリンノイズアルゴリズムによって生成されます。

改良されたパーリンノイズアルゴリズムのパラメータには任意の情報を埋め込むことができ、埋め込まれた情報から一意のノイズを生成します。

生成されたノイズからは、埋め込まれた情報が一意に求まります

画像解析

BlumeCodeを読み取るために様々な画像解析を行いました

  1. 境界線抽出 画像に特定の変換を加えることにより境界をより正確に取得できるようにした。(画像のコントラスト、ガウシアンブラー、エッジ検出)
  2. 1次元ノイズ状態への変換 極座標を使うことにより円から元のパーリンノイズへの変換を行なった。
  3. 外れ値の除去 今回はサンプリングを大量に行い平均を取ることで外れ値の影響を無視できるレベルまで小さくするという簡単な方法を採用しました。
  4. 多項式フィット方式によるパーリンノイズの補完

坂本寛弥

@8460ac49c3870036