![result.JPG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/259570/result.jpeg)
検出器のオブジェクト(複数)の座標の格納について
3 次查看(过去 30 天)
显示 更早的评论
matlabのbbox(矩形)で複数のオブジェクトを検知し、中心の座標を取りたいです。
その際に、bbox内では
>> bbox
bbox =
340 130 136 332
570 54 146 356
のように値が格納されると思います(N行4列)。
x=bbox(1,1);
y=bbox(2,1);
・・・
と行いたいですが、複数のオブジェクトで複数行値が格納されている場合はどのようにしたら良いでしょうか。
(試しにx=bbox(1),y=bbox(2),w=bbox(3),h=bbox(4)と行ってみたところ、340,570,130,54と縦に値を格納してしまいました...)
下のリンクの複数オブジェクト検知という感じのイメージになります。
よろしくお願いいたします。
0 个评论
采纳的回答
Kenta
2020-1-3
こんにちは、bboxes(1,:)などとすれば、上から1段目の、左から右までの値をすべて取ることができます。
下の例を見ると、各bboxがそれぞれ取得できることが見て取ることができます。
I=imread('onion.png');
I=imresize(I,3);
bboxes=[240 130 136 232
270 54 146 256
92 73 290 40
153 78 67 139];
figure;
for i=1:4
subplot(2,2,i)
annotation=sprintf('box%d',i);
imshow(insertObjectAnnotation(I, 'rectangle', bboxes(i,:), annotation,'LineWidth',8,'FontSize',30))
end
![result.JPG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/259570/result.jpeg)
3 个评论
Kenta
2020-1-3
size(bboxes,1)
で、bboxesの縦の数、つまり検出した物体の数を知ることができます。bboxのサイズで、かつ1番目の方向(つまり縦方向)と考えてください。
そのため、
for i=1:size(bboxes,1)
bboxes(i,1)
bboxes(i,2)
bboxes(i,3)
bboxes(i,4)
end
とすれば、すべての要素を確認できます。
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!