我在MATLAB中遇到问题,将我的数据拆分为2列中的多行。 目前我有一个单行分类的坐标点(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
谢谢,
答案 0 :(得分:2)
一种解决方案是写:
% 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,[]).'