如何在 MAtlab 中从左到右指定 ROI

How to specify ROIs from left to right in MAtlab

我刚接触 Matlab。我正在 Mat-lab 上研究 vision.CascadeObjectDetector 并被使用两次来找出两个不同的对象(单独训练),例如视频中的 E 和 K。 bbox 和 bbox2 是各自的 ROI。部分代码如下

while ~isDone(videoFileReader)
videoFrame=step(videoFileReader);
bbox=step(letterDetector_E,videoFrame);
bbox2=step(letterDetector_K,videoFrame);
C = vertcat(bbox,bbox2); 
videoOut=insertObjectAnnotation(videoFrame, 'rectangle', C, 'E&K');
step(videoPlayer, videoOut);
end

我想把每个ROI(bbox和bbox2一起考虑)从左到右,从上到下像阅读一页一样一个接一个。我该怎么做。

我不确定这里的bbox是什么格式,但假设它是一个向量bbox = [xUpperLeft, yUpperLeft, width, height],你只需要连续按两列排序即可。为此,您可以使用 sortrows:

sortrows(C, [1 2]);

这会将 C 的行首先按 xUpperLeft(第一列)排序,然后按 yUpperLeft(第二列)排序。另请参阅类似问题 here