How can parallelize my object detection code?
Mostrar comentarios más antiguos
The code in the example below works sequentially and is slow to detect objects. I want the algorithm to be able to detect them faster using parallel operation. How can I do that?
cam = webcam('name camera');
d1 = vision.CascadeObjectDetector('T_1.xml');
d1 = vision.CascadeObjectDetector('T_2.xml');
d1 = vision.CascadeObjectDetector('T_3.xml');
gcf
set(gcf, 'CurrentCharacter','@');
i = 1;
while 1
image = snapshot(cam);
detectedImg = image;
bbox = step(detector1, image);
detectedImage = insertShape(detectedImage,'Rectangle',bbox, 'LineWidth', 4, 'Color', 'red','Opacity',0.7);
imshow(detectedImage);
i = i+1;
k=get(gcf, 'CurrentCharacter');
if k ~= '@'
break;
end
end
clear('cam');
close all;
clear all;
2 comentarios
Florian Morsch
el 26 de Abr. de 2018
Try to use tic / toc to see the times of the code. A lot of time is needed to display or draw images, so maybe you can save some time if you just speed up those operations.
From my experience the cascade object detector is pretty fast and dont use much computing time (depending on your needs of course). Mostly its the displaying and drawing into the found pictures which takes the most time).
Also on what resolution do you run those loops? If you scale your camera resolution down a bit the detection and image processing also works a lot faster.
Respuestas (0)
Categorías
Más información sobre Image Processing and Computer Vision en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!