So I have a bunch of nested for loops in the following code but I feel like there has to be a faster and better way to eliminate these things so it will run faster. If anyone had some insight into how I might do this I would be greatly appreciative.
function [mask] = bbox_analysis(bboxes, mask, blackwhiteframe, th, fractional_th) % Cycle through every bbox in the frame
bbox_dim = size(bboxes); for b = 1:bbox_dim(1) x_1 = bboxes(b, 1); y_1 = bboxes(b, 2); x_2 = x_1 + bboxes(b, 3); y_2 = y_1 + bboxes(b, 4); cropped_image = imcrop(blackwhiteframe, [x_1, y_1, bboxes(b, 3), bboxes(b, 4)]); % Section of frame captured in bbox
max_image = max(cropped_image); threshold = max(th/255, max_image*fractional_th); new_image = (cropped_image > threshold); for i = x_1:x_2-1 for j = y_1:y_2-1 mask(j, i) = new_image(j+1-y_1, i+1-x_1); end end end end
Best Answer