esimov/caire

Content aware image resize library

解決する問題

Caire は、重要なコンテンツを歪めたり切り取ったりせずに画像のサイズを変更(縮小または拡大)する問題を解決します。従来のスケーリングはすべてのピクセルを均等に扱うため、顔などの重要なオブジェクトが変形したり失われたりする可能性があります。Caire はシームカービングと呼ばれる技術を使用して、最も目立たないピクセルのパスをインテリジェントに削除または追加し、重要な部分を無傷に保ちます。

仕組み

Caire はまず画像を分析してエッジを検出し、視覚的な詳細が集中している場所を強調するエネルギーマップを作成します。次に、動的計画法アプローチで累積エネルギー値を計算し、画像全体で上から下または左から右への最も重要でないパス(シーム)を見つけます。最も低いエネルギーのシームが削除(または拡大のために複製)され、目的の寸法に達するまでプロセスが繰り返されます。ライブラリには、シームが顔を通過しないようにする顔検出や、特定の領域を保護または削除するためのマスクを使用する機能などの追加機能も含まれています。

対象ユーザー

Caire は、自動化された環境やコマンドライン環境で高品質なコンテンツ認識画像リサイズを必要とする開発者、写真家、およびすべての人を対象としています。Go で書かれており、ライブラリまたはスタンドアロンツールとして使用でき、スクリプト、Web サービス、またはパイプラインへの統合が容易です。ポートフォリオ生成、サムネイル作成、バッチ処理など、画像の視覚的整合性を維持することが重要な場合に特に役立ちます。

ハイライト

  • 重要な領域を保持するコンテンツ認識リサイズのためのシームカービングを使用。
  • 垂直および水平方向の縮小と拡大の両方をサポート。
  • 人間の顔の変形を避けるための顔検出を含む。
  • 複数の出力形式をサポート:jpg、jpeg、png、bmp。
  • ディレクトリ全体を並行して処理可能。
  • 簡単な統合のための stdin/stdout パイプをサポート。
  • プロセスをリアルタイムで視覚化する GUI プレビューモードを提供。
  • 細かい制御のための保護および削除マスクをサポート。
  • 単一のコマンドで画像を正方形にしたり、パーセンテージでスケールしたりできます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト