作者andgitisaac (AndGiTiSaaC)
看板MATLAB
标题[讨论] 重新排序以及区域合并求解
时间Sat Jul 30 22:49:48 2016
小弟最近处理影像时遇到两个问题,跪求版上大大求解:
(一)重新排序
影像是
[ 6 6 6 5 2
6 6 3 5 2
6 6 3 5 2 ]
里面的数字是像素的组别,问题在处理的过程中有些组别
,因为合并会消失,现在想要重新排序
也就是
[ 4 4 4 3 1
4 4 2 3 1
4 4 2 3 1 ]
手头上有一个向量表示该组元素的数量
B = [ 0 3 2 0 3 7 ],但不知道该如何下手QQ
(二)小区块合并
一样也是同个影像
[ 6 6 6 5 2
6 6 3 5 2
6 6 3 5 2 ]
第三组是一个较小区块,要跟附近较大区块(6)合并
会变成
[ 6 6 6 5 2
6 6 6 5 2
6 6 6 5 2 ]
目前只进行到提取第3组的index,就没有头绪了。
难道只能一个一个元素检查邻居吗?
先感谢大大QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.105.48.145
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1469890190.A.357.html
1F:推 JamesChen: 1. sort 拿到 index 就可以了吧07/31 19:25
2F:→ JamesChen: 2. 看不懂07/31 19:25
3F:→ name0625: 1. 设影像为image, 重点在先做出对照表08/01 22:48
4F:→ name0625: table=(1:numel(B))-cumsum(B==0);08/01 22:48
5F:→ name0625: image=table(image);08/01 22:48
6F:→ name0625: 应该没问题,用手机打的,有错见谅08/01 22:48
7F:→ name0625: 2. 你没列出规则大家也帮不了你08/01 22:49
感谢各位大大,第一题的做法後来我是用index,n大的回家试试。第二题我是用d=[1 0;-
1 0; 0 1; 0 -1]来做後续运算。
※ 编辑: andgitisaac (219.85.129.137), 08/02/2016 09:35:40