メインコンテンツへスキップ
見出し画像

【AIでLINEスタンプ70日目】 あれ?C++移植、頼んで放置してたら終わってた!

    【AIによるこの記事の3行まとめと解説】

    前回宣言したC++へのコード移植ですが、AIに任せたら小一時間であっさりと全工程のコードが出来上がってしまいました。
    画像処理の土台に「OpenCV」を使うことにし、スマホやPCなど全プラットフォーム向けに機能が詰まった「ライブラリ」を作成するルートが整いました。
    しかし、一切の動作確認をしておらず、実際のアプリへの組み込みもこれからのため、「これで移植完了」とは到底言い切れず、見えないバグの噴出を警戒しています。


    あらすじ

    脱・Python!スマホアプリ化も見据えた「画像処理の芯」C++移植計画、全8工程のロードマップを公開したのだった。


    8工程、ぜんぶ通ってしまった!

    前回お見せしたロードマップのリスト、以下のものです。

    1. 土台(読み書き・グリッド検出)

    2. 罫線除去

    3. 背景色の統一

    4. シートの正規化

    5. 背景透過(設定値の推定つき)

    6. セル縮小

    7. キャラと文字の合成

    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質問箱


    メンバーシップ始めました!
    まだ手探りですが、ご要望/無茶振り/質問、可能な限りお受けします!


    参加させて頂いています!是非チェックしてみてください😆


    有料記事、今回は問題提起と警告!

    note生活1ヶ月の総括記事を書きました!大事な部分は全て無料公開中!
    何を考え何をしてきたのか、500人記念のワンコインで公開します!


    公開中の全記事はこちら!

    記事作成のお供に!お役立ちツール!

    その他、こんなことやってみてます!


    気に入ったらスキ、フォローよろしくお願いします!
    note外から見にきてくださったかたも、もしよければハートマーク押して頂けたら励みになります😊


     
     
    50代から、AIを相棒に新しい「遊び」を始めました。 なんとなく過ぎる毎日に、自分の手で形を作るワクワクを。 一歩踏み出す日々の試行錯誤や、小さな成功の瞬間を等身大の視点で発信していきます。 Amazonのアソシエイトとして、へろんは適格販売により収入を得ています。

    あなたへのおすすめ