アーティファクトを作成しない画像形式 ( BMP やPNGなど) を使用すると、ピクセルごとの比較を行うことができます。共通のユークリッド距離で各ピクセルを確認できると思います。パフォーマンスを少し改善するには、平方根を計算せずに、距離の 2 乗を確認します。
// Maximum color distance allowed to define pixel consistency.
const float maxDistanceAllowed = 5.0;
// Square of the distance, used in calculations.
float maxD = maxDistanceAllowed * maxDistanceAllowed;
public bool isPixelConsistent(Color pixel1, Color pixel2)
{
// Euclidean distance in 3-dimensions.
float distanceSquared = (pixel1.R - pixel2.R)*(pixel1.R - pixel2.R) + (pixel1.G - pixel2.G)*(pixel1.G - pixel2.G) + (pixel1.B - pixel2.B)*(pixel1.B - pixel2.B);
// If the actual distance is less than the max allowed, the pixel is
// consistent and the method returns TRUE
return distanceSquared <= maxD;
}
C# コードをテストしませんでしたが、アイデアが得られるはずです。いくつか試してmaxDistanceAllowed
みて、ニーズに合わせて調整してください。