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!