两幅图像之间的重叠区域

时间:2014-08-28 10:24:43

标签: matlab image-processing

我有两个二进制图像(地面实况和测试图像)。每个对象都是黑色像素,所有其他区域都是白色像素。我想检查我的算法的输出图像是否符合地面实况图像。为此,我想在这两个中找到重叠区域。

如何在两张图像中找到重叠区域?

1 个答案:

答案 0 :(得分:2)

假设BW1BW2是两个二进制图像,您可以用这个计算“重叠区域”(以像素为单位) -

ovlp_area = nnz(BW1 & BW2);
  1. &为重叠区域提供带有白色像素的二进制图像。
  2. nnz计算真值的数量,即重叠区域中的像素数。
  3. 您可以对sum执行相同操作:

    ovlp_area = sum(sum(a1 & a2))

    ovlp_area = sum(reshape((a1 & a2),[],1))

    但我怀疑与nnz方法相比,这些在运行时方面是否更有效。

相关问题