比较两个数组和 return 它们的余数
Compare two arrays and return their remainder
我正在做一个图像比较器用于学习目的。
我已经完成了几乎所有的事情,现在我正在改进它。为了检查相似性,我有 2 个锯齿状多维数组 (byte[][,]
),我在其中使用三重 for 循环访问每个数组的每个元素并存储它们的余数,如下所示:
for (int dimension = 0; dimension < 8; dimension++)
{
Parallel.For(0, 16, mycolumn =>
{
Parallel.For(0, 16, myrow =>
{
Diffs[dimension][mycolumn, myrow] =
(byte)Math.Abs(Image1Bytes[dimension][mycolumn, myrow]
- Image2Bytes[dimension][mycolumn, myrow]);
});
});
}
现在,我想检查每个维度与另一个集合中的另一个维度有多少相等。
我如何比较每个数组中的整个数组(如 array1[i][,] == array2[j][,]
)?
我认为有更好的方法来完成这些操作,但我已经设法很快完成了。
这是比较两张图片的较旧帖子,您可以轻松适应自己的需要。
Compare Bitmaps
由于Array
支持IStructuralEquatable
接口,可以使用结构比较:
using System.Collections;
. . .
var areEqual = StructuralComparisons.StructuralEqualityComparer.Equals(array1[i], array2[j]);
我正在做一个图像比较器用于学习目的。
我已经完成了几乎所有的事情,现在我正在改进它。为了检查相似性,我有 2 个锯齿状多维数组 (byte[][,]
),我在其中使用三重 for 循环访问每个数组的每个元素并存储它们的余数,如下所示:
for (int dimension = 0; dimension < 8; dimension++)
{
Parallel.For(0, 16, mycolumn =>
{
Parallel.For(0, 16, myrow =>
{
Diffs[dimension][mycolumn, myrow] =
(byte)Math.Abs(Image1Bytes[dimension][mycolumn, myrow]
- Image2Bytes[dimension][mycolumn, myrow]);
});
});
}
现在,我想检查每个维度与另一个集合中的另一个维度有多少相等。
我如何比较每个数组中的整个数组(如 array1[i][,] == array2[j][,]
)?
我认为有更好的方法来完成这些操作,但我已经设法很快完成了。
这是比较两张图片的较旧帖子,您可以轻松适应自己的需要。
Compare Bitmaps
由于Array
支持IStructuralEquatable
接口,可以使用结构比较:
using System.Collections;
. . .
var areEqual = StructuralComparisons.StructuralEqualityComparer.Equals(array1[i], array2[j]);