在Matlab中比较并计算两个不同图像的平均值
Compare and calculate the average of two different images in Matlab
我有两张 480x640
图片 A
和 B
。我想比较它们 A
中的每个像素将与图像 B
中的相同像素进行比较,然后该像素的结果将放在 C
中相同的像素位置(结果只有 0 或 1,如果它们没有相同的值,则为 0,如果它们具有相同的值,则为 1。因此 C
将是一个仅包含 0 和 1 的 480x640
矩阵. 因此,如果有人可以请教如何在 Matlab 中完成此操作?
这应该适用于单通道图像:
C = bsxfun(@eq, A, B);
正如@Daniel 指出的那样,对于多通道(彩色)图像,您需要为每个像素添加 all
:
C = all(bsxfun(@eq,A,B),3);
我有两张 480x640
图片 A
和 B
。我想比较它们 A
中的每个像素将与图像 B
中的相同像素进行比较,然后该像素的结果将放在 C
中相同的像素位置(结果只有 0 或 1,如果它们没有相同的值,则为 0,如果它们具有相同的值,则为 1。因此 C
将是一个仅包含 0 和 1 的 480x640
矩阵. 因此,如果有人可以请教如何在 Matlab 中完成此操作?
这应该适用于单通道图像:
C = bsxfun(@eq, A, B);
正如@Daniel 指出的那样,对于多通道(彩色)图像,您需要为每个像素添加 all
:
C = all(bsxfun(@eq,A,B),3);