我有两个二进制图像(地面实况和测试图像)。每个对象都是黑色像素,所有其他区域都是白色像素。我想检查我的算法的输出图像是否符合地面实况图像。为此,我想在这两个中找到重叠区域。
如何在两张图像中找到重叠区域?
答案 0 :(得分:2)
假设BW1
和BW2
是两个二进制图像,您可以用这个计算“重叠区域”(以像素为单位) -
ovlp_area = nnz(BW1 & BW2);
&
为重叠区域提供带有白色像素的二进制图像。nnz
计算真值的数量,即重叠区域中的像素数。您可以对sum
执行相同操作:
ovlp_area = sum(sum(a1 & a2))
或
ovlp_area = sum(reshape((a1 & a2),[],1))
但我怀疑与nnz
方法相比,这些在运行时方面是否更有效。