
【AIでLINEスタンプ70日目】 あれ?C++移植、頼んで放置してたら終わってた!
【AIによるこの記事の3行まとめと解説】
前回宣言したC++へのコード移植ですが、AIに任せたら小一時間であっさりと全工程のコードが出来上がってしまいました。
画像処理の土台に「OpenCV」を使うことにし、スマホやPCなど全プラットフォーム向けに機能が詰まった「ライブラリ」を作成するルートが整いました。
しかし、一切の動作確認をしておらず、実際のアプリへの組み込みもこれからのため、「これで移植完了」とは到底言い切れず、見えないバグの噴出を警戒しています。
あらすじ
脱・Python!スマホアプリ化も見据えた「画像処理の芯」C++移植計画、全8工程のロードマップを公開したのだった。
8工程、ぜんぶ通ってしまった!
前回お見せしたロードマップのリスト、以下のものです。
土台(読み書き・グリッド検出)
罫線除去
背景色の統一
シートの正規化
背景透過(設定値の推定つき)
セル縮小
キャラと文字の合成
20枚への分割
「次回から実際に作っていきます!」と書いて、そろそろやるぞと意気込んでいたのですが……。
結論から言うと、コードの移植自体はあっさりと終わってしまいました。
AIに任せ、次進めて!を繰り返して小一時間かかったのかどうか。
途中離席してたりするので、ちゃんとした時間がわからないというレベルでした。
とはいえ、本当にちゃんと動くのか、Python版と完全に同じ結果が出るのかなど、動作の確認は全くしていません。
なので、まだ「実用上問題なく動く」とは口が裂けても言えない状態ですが、とりあえず形にはなったようです。
「天ぷらは買ってくる」を、もう一段進めた
前回、ライブラリの話を「うどんは茹でるけど天ぷらは買ってくる」と書きました。 今回の追加はここです。
どうやら画像処理の土台として昔から有名なライブラリである「OpenCV」というものを使うことにしたようです。
画像の読み書きや変形、透過処理などの面倒な部分は、このOpenCVに任せる形になります。
これをライブラリとして一緒にビルド(実際のプログラムとして作り上げる)できるルートを用意したことで、「どの PC でも同じ天ぷらが買える」状態に近づけた、という感じです。
スマホに載せるための「入り口」
C++ をそのまま Swift や Kotlin から呼ぶのは面倒なので、C API を前面に出しています。
ざっくり言うと:
入力は PNG のバイト列
出力も PNG または RGBA バッファ
ファイルパスに依存しない
スタンプを透かす、合成する、20枚に切る、といった処理をこの API 経由で呼び出すことができる想定です。
デスクトップ向けには、Python 版と対応する CLI ツールも9本つけてあり、開発中の確認に使えるようにしました。
全プラットフォームで「ライブラリ」としてビルドできる
前回「将来スマホアプリに載せる選択肢を残す」と書いた部分の、具体的な着地です。
それぞれの環境で、以下のようにビルドできるようにしました。
macOS / Linux / Windows: 静的 または 共有ライブラリとしてビルド
iOS: 静的ライブラリ、XCFramework 化も可能
Android: ABI ごとに .so としてビルド
必要な機能の詰め合わせが libstamp_core.so のような1ファイルで手に入る、というイメージです。
本当にこれで「移植完了」なのか?
「ブラウザと Python に縛られない、アプリに載せられるスタンプ作成に関する処理の芯を C++ で作り直す」
と言う作業定義でした。
とりあえず、芯の移植はひとまず完了したように見えます。
しかし、 次にどうするのかは、まだ決めていません。
これまでのAIが作成したプログラムの動作経験から言って、ここで「これで移植が完全に完了した!」と言い切るのは、どう考えても早計です。
実際の iOS / Android / Windows / Macなど、各種プラットフォーム向けアプリへの組み込み、それどころか、一切の動作確認をまだ実施していないからです。
これらを繋ぎ合わせた途端に、また見えないバグや仕様の食い違いが吹き出してくるのが常です。
何でもどうぞ!答えられるものは全て答えます!
メンバーシップ始めました!
まだ手探りですが、ご要望/無茶振り/質問、可能な限りお受けします!
参加させて頂いています!是非チェックしてみてください😆
有料記事、今回は問題提起と警告!
note生活1ヶ月の総括記事を書きました!大事な部分は全て無料公開中!
何を考え何をしてきたのか、500人記念のワンコインで公開します!
公開中の全記事はこちら!
記事作成のお供に!お役立ちツール!
その他、こんなことやってみてます!
気に入ったらスキ、フォローよろしくお願いします!
note外から見にきてくださったかたも、もしよければハートマーク押して頂けたら励みになります😊