メインコンテンツまでスキップ

色振動のページ

紹介

  1. 埋め込み動画例をローカルにダウンロードして適当な再生アプリで流す。(※GoogleDrive上の再生ではfpsが低く、QRが見えてしまいます。)
  2. 研究室のGalaxyS8に入っているQRVというアプリを開くとQRコードが見えます。

動画一覧

論文一覧

ソースコード

  • 差し当たりGoogleDrive内の荒木の個人フォルダ内に置いてます。
    • 木林が動作確認したところうまく動画の生成ができていなかったので、ソースコードが欲しい場合は木林のgithubに招待しますので声をかけてください
  • 一部はGitHubにもあるかもしれない。

埋め込み用

  1. iCVembed
  • Windows用、阿部手法です。
  • 環境構築は以下を参照。
  • コンパイルはmakefile内のパスを自身の環境に合わせて変更後、Visual Studioのx64 Native Tools Command Promptでnmake。
  • コマンドは以下の通り。
embed.exe [-h] inputImage inputCode output [r, t] [-e] [-c cmin cmax] [-s size] [-n width height]
  • inputImage: 入力画像
  • inputCode: 埋め込みたいマーカの白黒画像(白が振動なし、黒が振動あり)
  • output: 出力ファイル名、_a.bmpと_b.bmpができる
  • r,t: rが振幅、tが振動方向。80,90が良く使う値
  • -e: ヒストグラムの正規化を行う。色域の変調をかける場合これをするとベターな結果になるかもしれない
  • -c: 色域を制限する。100 240が良く使う値(黒付近で色ずれが起こる場合があるので、そのときは元の色や振幅なども上手く調整してください)
  • -s: inputCodeの辺の長さを指定する(正方形前提のため1変数)
  • -n: 出力画像のサイズ指定。入力画像より大きい場合黒で埋める
  1. iCVembedVideo
  • Macで作成、動画像への埋め込み。
  • Macであれば環境構築必要ないはず...?
  • コンパイルは以下を参考に。
clang++ -std=c++11 embed_video.cpp modulate.cpp colorpair.cpp `pkg-config --cflags --libs opencv4` -o embed_video
  • コマンドは以下を参考に。
./embed_video football.mp4 QR_720_486.png output -p 25 90 -c 60 200 -cr
  • 順に入力画像、マーカ、出力先を指定
  • -p: 半径、振動方向
  • -c: 色域の制限
  • -cr: 直交色振動方式。外すと阿部手法になるはず

読み取り用

  • iCVapp内にあります。
    • iCV21
      • android用です。
      • 松本さんのアプリに荒木が追記して使っていたものです。
      • 阿部さん、松本さん、荒木あたりのものが入っています。
    • iCV23
      • android用。
      • 直交色振動です。
    • ColorVibration
      • iPhone用。
      • 覚井手法。

その他

  • videoplay.cpp
    • Windowsで動画再生時にフレームレートを変えられるアプリです。
    • 方向キー上と下でフレームレートを変えられる。倍/半分になっていく。
    • iCVembed内にあります。
    • コンパイル
      • プロジェクトのプロパティで文字セットをマルチバイト文字セットを使用するにしないとエラーが出るかもしれない。
    • 使い方
videoplay.exe image1 image2
  • play.cpp
    • Mac用のフレームレートを変えられるアプリ。
    • ChatGPTに作ってもらったので、動作は怪しい。
    • コンパイル
      • SDL2のインストールが必要
brew install sdl2
clang++ -std=c++11 `pkg-config --cflags --libs sdl2` `pkg-config --cflags --libs opencv4` play.cpp -o play

過去の資料