小規模なテストから複雑なアプリケーションやライブラリの機能テストまで、簡単に書けるPythonテストフレームワーク。
dmtrKovalenko/odiff
Zig製の高速なSIMD最適化画像比較ツール。CLIとNode.js APIを備えています。
- スター
- 3,272
- フォーク
- 118
- 未解決の Issue
- 16
- 最終コミット
- 5 日前
これは何?
odiffは2枚の画像をピクセル単位で比較し、変更箇所を強調した差分画像を生成します。ビルドごとのスクリーンショットをベースラインと照合するビジュアルリグレッションテストを主な用途としていますが、写真やAI生成画像など、似た画像の比較にも使えます。
単体で動作するコマンドラインバイナリとして実行できるほか、odiff-binパッケージを介してNode.jsから呼び出すこともできます。このパッケージは、1回限りの比較関数と、毎回新しいプロセスを起動せずに多数の比較を実行できる常駐型のODiffServerを提供します。ほかのランタイム向けには、JSON stdioプロトコルを使うサーバーモードも利用できます。比較時には、しきい値の調整、アンチエイリアス検出、無視する領域の指定に加え、変更された行・列インデックスの任意出力に対応しています。
対応フォーマットはPNG、JPEG、WebP、TIFFで、異なるフォーマット間の画像比較も可能です。コア部分はZigで実装され、SSE2、AVX2、AVX512、NEON向けのSIMD処理を備えています。Playwright、Cypress、R、および複数のビジュアルテストサービスとの連携方法が紹介されています。
主な機能
- 01ピクセル単位で比較し、変更箇所を強調した差分画像を出力
- 02PNG、JPEG、WebP、TIFFに対応し、異なるフォーマット間の比較も可能
- 03アンチエイリアス検出と、無視する矩形領域の指定
- 04バッチ比較向けの常駐サーバーモードを備えたNode.js API
- 05SSE2、AVX2、AVX512、NEON向けのSIMD最適化
ユースケース
- CIパイプラインでのWebページのビジュアルリグレッションテスト
- PlaywrightまたはCypressのスクリーンショットとベースラインの比較
- アプリケーションのビルド間で意図しないUI変更を検出
- Node.jsスクリプトから大量の画像を一括比較
トピック
よくある質問
- odiff とは?
- Zig製の高速なSIMD最適化画像比較ツール。CLIとNode.js APIを備えています。 odiffは2枚の画像をピクセル単位で比較し、変更箇所を強調した差分画像を生成します。ビルドごとのスクリーンショットをベースラインと照合するビジュアルリグレッションテストを主な用途としていますが、写真やAI生成画像など、似た画像の比較にも使えます。
- odiff は無料で使えますか?ライセンスは?
- odiff は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- odiff は今もメンテナンスされていますか?
- 活発にメンテナンス中。odiff の最終コミットは 2026年10月13日 です。
- odiff は何に使えますか?
- CIパイプラインでのWebページのビジュアルリグレッションテスト PlaywrightまたはCypressのスクリーンショットとベースラインの比較 アプリケーションのビルド間で意図しないUI変更を検出 Node.jsスクリプトから大量の画像を一括比較
- odiff はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/dmtrKovalenko/odiff
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
HTTP、GraphQL、WebSocketなどのリクエストを作成・送信・テストできるオープンソースのAPI開発環境
HackやSource Code Proなどの開発者向けフォントに、人気のアイコンセットから数千種類のグリフを追加します。
Swagger UIはOpenAPI仕様ファイルから、ブラウザー上で操作できるAPIドキュメントを生成します。
OpenAPI(v2/v3)仕様から、各種言語のAPIクライアントSDK、サーバースタブ、ドキュメントを生成します。
QEMUを自動設定し、最小限の準備でWindows、macOS、Linuxの仮想マシンを起動するラッパー。