Matlab - 图像处理 - 提取轮廓

时间:2017-12-11 08:15:28

标签: matlab image-processing

我是MATLAB的新手,也是图像处理的新手。

我将找到图像的轮廓,所以

leaf = imread('images\leaf.jpg')
SE = [1 1 1
      1 1 1
      1 1 1]
figure
imshow(leaf)
title("leaf_origin")

erosed_leaf = imerode(leaf,SE);
Contour = double(leaf) - double(erosed_leaf)
Contour=~Contour
figure
imshow(Contour)

运行imshow

时出错
  

使用images.internal.imageDisplayValidateParams> validateCData(第119行)时出错   如果输入是逻辑(二进制),则它必须是二维的。

     

images.internal.imageDisplayValidateParams(第27行)出错   common_args.CData = validateCData(common_args.CData,image_type);

     

images.internal.imageDisplayParseInputs中的错误(第78行)   common_args = images.internal.imageDisplayValidateParams(common_args);

     

imshow中的错误(第241行)   images.internal.imageDisplayParseInputs({ '父', '边界', '减少'},{preparsed_varargin:});

如果我在~前删除contour,它会有效但输出不正确。任何人都可以给我任何关于错误的提示吗?

1 个答案:

答案 0 :(得分:0)

return item[:2] in [ele[:2] for ele in self._items[i:j]]