about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/KPMtools/rectintC.m
diff options
context:
space:
mode:
Diffstat (limited to 'sourcecodes/bnt-master/KPMtools/rectintC.m')
-rw-r--r--sourcecodes/bnt-master/KPMtools/rectintC.m22
1 files changed, 22 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/KPMtools/rectintC.m b/sourcecodes/bnt-master/KPMtools/rectintC.m
new file mode 100644
index 00000000..0651519b
--- /dev/null
+++ b/sourcecodes/bnt-master/KPMtools/rectintC.m
@@ -0,0 +1,22 @@
+function [overlap, normoverlap] = rectintC(A,B)
+%
+% A(i,:) = [x y w h]
+% B(j,:) = [x y w h]
+% overlap(i,j) = area of intersection
+% normoverlap(i,j) = overlap(i,j) / min(area(i), area(j))
+%
+% Same as built-in rectint, but faster and uses less memory (since avoids repmat).
+
+
+leftA = A(:,1);
+bottomA = A(:,2);
+rightA = leftA + A(:,3);
+topA = bottomA + A(:,4);
+
+leftB = B(:,1)';
+bottomB = B(:,2)';
+rightB = leftB + B(:,3)';
+topB = bottomB + B(:,4)';
+
+verbose = 0;
+[overlap, normoverlap] = rectintLoopC(leftA, rightA, topA, bottomA, leftB, rightB, topB, bottomB, verbose);