API呼び出しから画像を分析して、画像のコントラストが高いか低いかを調べることができるかどうか疑問に思っています。2 つの画像の違いを検出する similar.js があることは知っています。だからやりたいことが実現できると思います。
画像のコントラスト レベルを分析するにはどうすればよいですか。JavaScript でそれができない場合、他の言語ではどのような解決策がありますか?
API呼び出しから画像を分析して、画像のコントラストが高いか低いかを調べることができるかどうか疑問に思っています。2 つの画像の違いを検出する similar.js があることは知っています。だからやりたいことが実現できると思います。
画像のコントラスト レベルを分析するにはどうすればよいですか。JavaScript でそれができない場合、他の言語ではどのような解決策がありますか?
ほとんどのソリューションは以下に基づいています
画像の取得
インメモリ キャンバスの作成
を使用したキャンバスへの画像の描画drawImage
を使用したピクセル データの回復getImageData
。すべてのピクセルが一連の 4 つの数値 (RGBA) によって定義される配列を取得します。
それらのピクセルに対する任意のアルゴリズムの適用。コントラストの決定には多くのアルゴリズムがあり、それぞれに長所と短所があります。ニーズに合ったものを選択する必要があります
最初のステップの例 (最後のステップはニーズによって異なります):
var canvas = document.createElement('canvas');
canvas.width = myImage.width;
canvas.height = myImage.height;
var context = tempCanvas.getContext('2d');
context.drawImage(myImage, 0, 0);
var pixels = context.getImageData(0, 0, myImage.width, myImage.height).data;
Pixastic は、ほんの少しの JavaScript を使用して、画像に対してさまざまな操作、フィルター、凝った効果を実行できる JavaScript ライブラリです。HTML5 Canvas要素を利用して動作します
画像を読み込んだ後、
params.options.contrast
コントラストの値を提供します。
詳細とデモはこちらから入手できます