How can parallelize my object detection code?
이전 댓글 표시
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
Florian Morsch
2018년 4월 26일
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.
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Image Processing and Computer Vision에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!