gemini-watermark-remover は何をしますか?
リバースアルファブレンディングを使用して、Gemini AIの可視ウォーターマークを画像から除去します。Geminiウォーターマークの除去、Gemini画像のバッチ処理、またはHTMLやサーバーサイドコンポーネントを使わずに右下のGeminiウォーターマークを除去するCLIスクリプトの作成・修正を求められた場合に使用します。
概要
rookie-ricardo/gemini-watermark-remover は、Gemini AIによって追加されたウォーターマーク(半透明の「Gemini」ロゴ)を画像から除去するためのコマンドラインツールです。このツールは、ウォーターマークのアルファ値と色情報を元の画像ピクセルから逆算することで機能します。
特徴
- リバースアルファブレンディング: ウォーターマークの半透明オーバーレイを数学的に除去します。
- CLIベース:
nodeコマンドで簡単に実行可能。 - バッチ処理: 複数の画像を一度に処理できます。
- 依存関係最小限: 必要なのはNode.jsと
sharpライブラリのみ。 - HTML不要: ブラウザやサーバーサイドの設定は一切不要。
インストール
このスクリプトを実行するには、Node.jsがインストールされている必要があります。また、画像処理ライブラリ sharp を使用します。
# 必要な依存関係をインストール
npm install sharp
または、package.json が存在する場合は以下を実行します。
npm install
使用方法
単一画像のウォーターマーク除去
node remove-watermark.js input.png output.png
バッチ処理(複数画像)
input ディレクトリ内のすべての画像を処理し、output ディレクトリに保存します。
node batch-remove-watermark.js input/ output/
仕組み
このスクリプトは以下の手順でウォーターマークを除去します。
- ウォーターマークの既知のアルファ値(透明度)と色情報を使用します(例:
rgba(128, 128, 128, 0.7))。 - 各ピクセルについて、合成前の元の色
C_originalを次の式で計算します:C_original = (C_composite - (1 - alpha) * C_watermark) / alphaここでC_compositeは観測されたピクセル値、alphaはウォーターマークの不透明度、C_watermarkはウォーターマークの色です。 - 計算結果を出力画像として保存します。
注意事項
- このツールは、Gemini AIが付与した既知のウォーターマークに対してのみ機能します。
- ウォーターマークの位置や色が変更された場合、スクリプトの調整が必要です。
- 入力画像は、ウォーターマークが含まれていることを前提としています。
ライセンス
このプロジェクトは MIT ライセンス の下で公開されています。
貢献
バグ報告や機能リクエストは、Issues にて受け付けています。