Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 按顺序对连接的组件进行排序_Sorting_Image Processing_Bounding Box - Fatal编程技术网

Sorting 按顺序对连接的组件进行排序

Sorting 按顺序对连接的组件进行排序,sorting,image-processing,bounding-box,Sorting,Image Processing,Bounding Box,我有一个关于连接组件的问题。我有一个二进制图像(仅0和1)我从matlab运行函数: f= [L num]=bwlabel(f) 假设他们给了我答案: 1 0 0 4 0 0 0 5 0 0 1 1 0 4 4 4 0 0 5 0 0 0 0 0 0 0 0 5 5 5 2 0 0 0 6 0 5 0 5 5 2 2 0 0 0 0

我有一个关于连接组件的问题。我有一个二进制图像(仅0和1)我从matlab运行函数: f=

[L num]=bwlabel(f)

假设他们给了我答案:

1   0   0   4   0   0   0   5   0   0
1   1   0   4   4   4   0   0   5   0
0   0   0   0   0   0   0   5   5   5
2   0   0   0   6   0   5   0   5   5
2   2   0   0   0   0   0   5   5   5
0   0   0   5   0   0   5   0   0   0
0   0   0   5   0   5   5   0   7   7
3   3   0   0   5   0   0   0   7   0
3   3   0   5   5   5   0   7   0   0
3   3   0   0   5   0   0   0   7   0
但是你可以在这个结果中看到,矩阵的顺序是跟在列后面的。现在我想把它改成顺序行,意思是数字4是2,数字5是3。。。等等。 顺序为左->右和上->下。我该怎么做(阅读的顺序)

多谢各位

f=f';
[L num]=bwlabel(f);
L=L';

这能解决您的问题吗?

一个简单的解决方案是在标签之前横切图像,然后再横切。请参阅答案您是否正在尝试阅读文本,如您发布的示例图像?如果是这样的话,请在问题中发布这些图片。很抱歉,这不能解决我的问题,因为如果我用这种方式处理图片:![原始图像][1]第一个-第二个-第三个连接的组件是:F-S-l,如下图所示:!这是错误的,因为我想要1-2-3-。。。是H-a-w-a-(一点)-(一点)-)破折号-I-I-s。。。谢谢你的帮助,但这是不对的,你还有别的办法吗?[1] :[2]:@user3607620您所问的问题的答案是正确的。将
F
标记为第一个组件的原因是
F
是在图像的第一行上找到的第一个组件。修复此问题(使
H
成为第一行中找到的第一个组件)与您所问的问题有很大不同。@在给出的问题的答案正确之前,请使用3607620作为裁判。你在这篇评论中所展示的内容与问题中所展示的内容不同,也没有以相同的方式解决。如果这是你想要标记的图像,你应该在之前展示它们。如果你仔细观察,你会发现F首先被识别,因为第一个非零行属于F,正如烧杯所解释的。我可以给你一个解决这个问题的想法,尽管如果问题更复杂,与你的问题完全不同,不应该放在这里(注意:问题将是I和dash的要点)
f=f';
[L num]=bwlabel(f);
L=L';