2013-03-17 35 views
0

我需要使用Matlab将图像A转换为图像B。我是Matlab新手,没有找到这么做的好来源。任何人都可以帮助我解决这个问题?使用Matlab剪影人体图像

图片甲

enter image description here

图像B

enter image description here

在图像B中的水平线可以忽略。我只想得到身体的形状,在图B

+1

Canny边缘检测器可能会帮助你:http://en.wikipedia.org/wiki/Canny_edge_detector – Maroun 2013-03-17 09:16:50

+1

搜索'边缘检测',你会得到很多方法。 – 2013-03-17 09:25:46

回答

2

一个简单的解决办法是将源图像转换为二进制和减去的侵蚀副本是这样的:

bw = any(I, 3); 
n = 5; 
s = bw - bwmorph(bw, 'erode', n); 

n值将发生变化最终图像中轮廓的粗细。

+1

您可以使用'bwmorph(bw,'remove')'来获得轮廓。 – 2013-03-17 10:16:53