作者windowsdtr (Jemmy)
看板MATLAB
标题Re: [讨论] 如何将八连通後的区域挖出来储存?
时间Tue Jul 2 19:46:03 2013
小弟不才,刚刚有去MATLAB网站上查询关於regionprops的语法,
但是仿效centroids的写法改以Image方法却不得其门而入,
相信应该是.Image这个语法不对,请各位高手指导小弟一下吧....
[L,bw]= bwlabel(im,8);
s = regionprops(im, 'Image');
centroids = cat(1, s.Image);
imshow(im)
hold on
plot(centroids(:,1),centroids(:,2),'r*')
hold off
※ 引述《windowsdtr (Jemmy)》之铭言:
: 小弟初次接触MATLAB
: 在使用连通标记法(bwlabel)时发现一个问题,
: 有去其他地方爬文过,但是多半是模模糊糊的,
: 我认为应该有比较简单的作法或指令可以达到,
: 不知道有没有强者能帮小弟解答一下?!
: 我有一张二值化的图image已经使用八连通法[L,bw]=bwlabel(image,8)
: 得到bw=3个区块,图片阵列大致如下:
: 0 0 0 0 0 0 0 0 0 0 0
: 0 1 1 1 0 0 2 2 2 0 0
: 0 1 0 1 0 2 2 2 2 2 0
: 0 1 1 1 0 0 2 2 2 0 0
: 0 0 0 0 0 0 0 0 0 0 0
: 0 3 3 3 3 3 3 0 0 0 0
: 0 3 3 3 3 3 3 3 0 0 0
: 0 0 0 0 0 0 0 0 0 0 0
: 请问我要怎麽个别把区块1、2还有3抓出来储存变成如下这样?
: 1 1 1
: 1 0 1
: 1 1 1
: 0 2 2 2 0
: 2 2 2 2 2
: 0 2 2 2 0
: 3 3 3 3 3 3
: 3 3 3 3 3 3 3
: 恳请各位大大帮忙!! Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.110.7.56
1F:→ YoursEver:regionprop的内建参数就有centroid,先细读一下help... 07/02 21:00
2F:→ windowsdtr:问题是我不是要用centroids语法阿...我要用的是Image.. 07/02 21:46
3F:→ olliekr:img1=s(1).Image; img2=s(2).Image; img3=s(3).Image 07/03 08:28