matlab 将一行中的数据拆分为两列中的多行

6tqwzwtp  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(911)

我在MatLab中有一个问题,无法将我的数据分成两列中的多行。目前我在单行中有一个来自分类的坐标点(x,y)的数据。但我想将它们分成多行,这样每行只有两列。

bBox = [289  1  609 1  289  17  369  145  273  161  289 161  561  241  577  241  577  257  689  257  641  273  673  273  641  321  673  321];

从boxPoint获取BBox数据以创建多目标检测的边界框。
有人能帮我拆分这些数据吗?我希望数据是这样的:

bBOX = [289 1; 609 1; 289 17; .....];

我的部分代码如下:

[~, predictions] = svmclassify(P',label,model); % classifying each window

get_detect = predictions.*[predictions > 0.7];

[r,c,v]= find(get_detect);

for i = 1:r
    bBox =cell2mat(boxPoint(r));
    rectangle('Position',[bBox(1),bBox(2),64,128],'LineWidth',1, 'EdgeColor','y');
end
iswrvxsc

iswrvxsc1#

一种解决方案是写下:

% Transform bBox into a column vector
bBox = bBox(:); 
% Reshape n-by-1 vector bBox into two columns
bBox = [bBox(1:2:end-1),bBox(2:2:end)];

另一个是:

bBox = reshape(bBox.',2,[]).'

相关问题