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

【AIでLINEスタンプ69日目】脱・Python!スマホアプリ化も見据えた「画像処理の芯」C++移植計画。

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

    • 今のPythonとWebブラウザに依存した仕組みから脱却し、将来的にPCでもスマホでも動かせるように「C++」での作り直しを決意します。

    • 一番の難関だった「ウォーターマーク除去」はあえて移植の対象外とする、潔い「割り切り」の戦略を選択。

    • 「うどんは茹でるけど天ぷらは買ってくる」というプログラムの部品(ライブラリ)の考え方を交え、これから始まる全8工程の新たな泥沼のロードマップを公開!


    あらすじ

    作成の全貌(全9ステップ)を改めて整理・公開したのだった。


    「画像処理の芯」だけをC++に作り直す

    最近遅々として進んでいませんが、少しずつでも進めていきます!

    前々回(67日目)になりますが、ツールを別の言語で作り直してみようと考えていることを簡単にお話しました。
    今日はもう少し掘り下げて、何を考えているのかお話したいと思います。

    まずは大枠、プログラム言語をどうするつもりなのか。

    結論から言うと、スタンプ制作の「画像処理の芯」だけを、Python から C++ に作り直します。

    いまのツールは見た目をWebアプリとして作っていますが、そちらの画面の話は、いったん横に置きます。
    まず手を付けるのは、スタンプを整える・透かす・合成する・20枚に切る、といった実際に使っている個別の機能だけです。

    ウォーターマーク除去は規模が大きく、移植も難しいため今回の対象外とします。
    ここは割り切りです。

    スマホアプリ化も見据えた言語選択

    作り直し自体は、手作業だと時間はかかりますが可能という見立てです。
    実装は自分で一行ずつ書くのではなく、AI に任せながら進める想定です。

    言語は「C++」に統一します。
    こうしておけば、うまくいったときに Windows・Macはもちろん、将来スマホアプリに載せる選択肢も残せます。

    ★ ここが重要です。PythonではWindowsだとPython環境をインストールする必要があるというばかりか、少なくともiPhoneで動かすことは絶望的だからです。

    実行環境への依存と「起動の手間」を減らす

    なぜそうするか、短くまとめると以下のようになります。

    • 【いま】

      • PC 起動のたびに Web サービスを立ち上げる必要がある

      • Python とその部品(ライブラリ)が必要

      • ブラウザ/コンソール前提

    • 【これから】

      • いつかは普通のアプリのように使える土台を作る

      • 実行環境への依存を減らす

      • PC・スマホどちらにも広げられる形にする

    Webアプリのままバグ修正を続けることもできます。
    自分用だけなのでそれで十分ではあります。

    ただ、Web サービスにしないなら、わざわざ Node の Webアプリにこだわる理由は薄いと感じてきました。
    むしろ、毎回サービスを起動する手間の方が、地味に負担になっています。

    「天ぷらは買ってくる」ライブラリの入れ替え

    プログラムは全部ゼロから作るわけではなく、画像の読み書きや計算など、できあがった部品(ライブラリ)を組み合わせて作ることが多いです。

    うどんは自分で茹でるけど、天ぷらは買ってくる。

    そんなイメージです。

    今使っている部品の多くは Python 専用です。
    別の言語やスマホの環境では、そのまま使うことはできません。
    このため「言語を変える」=「使える部品も入れ替える」作業になりますが、画像処理でよく使われる部品は C++側にも用意されているので、作り直しは現実的という結論に至りました。

    C++で作り直す「画像処理の芯」

    一文で言うと、「ブラウザと Python に縛られない、どこでも載せられるスタンプ処理の芯」をC++ で作り直し、AI の力を借りて次の段階に進める。 以上が、ここから取り組むことの要約です。

    以下の手順で作っていく想定ですが、気分によって前後する可能性はあります。

    1. 土台:画像の読み書き、5×4グリッド(マス目)の位置を見つける共通処理

    2. 罫線除去:シート上のグリッド線を消す

    3. 背景色の統一:背景の色ムラを揃える

    4. シートの正規化:画像を決まったサイズの5×4シートに整える

    5. 背景透過:背景を透明にする(その前に透過用の設定値を画像から決める)

    6. セル縮小:各マス内の絵を少し小さくする(シート2用)

    7. キャラと文字の合成:キャラ画像と文字画像を1枚に並べる

    8. 20枚への分割:完成シートからスタンプを1枚ずつ切り出す

    うまく行くのか、挫折するのか!?

    次回から実際に作っていきます!


    次回、プログラムの移植作業に着手(AIが)。


    何でもどうぞ!答えられるものは全て答えます!

    へろんさんへの質問|note質問箱


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


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


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

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


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

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

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


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


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

    あなたへのおすすめ