在matlab中Hough变换来显示线条

时间:2015-06-24 17:00:10

标签: matlab image-processing

我想在我的图片上使用Hough Transform。

I=imread('myimage.png');
I=im2bw(I);
BW = bwmorph(I,'skel',1);
[H, T, R] = hough(BW)
P = houghpeaks(H, 100);
lines = houghlines(BW, T, R, P, 'FillGap',5, 'MinLength', 20);

现在我想在单独的图像文件中打印所有行(每行在单独的图像上)。我该怎么办?

编辑 - 我不想在背景中使用原始图像并在原始图像上绘制线条。我希望每张图片只有一行新图像。

2 个答案:

答案 0 :(得分:1)

您可以使用findobj获取当前轴上的线条并在绘制下一条线之前一次删除它们。在此之后使用getframe捕获轴的内容并将其保存为If ActiveCell.Address = "$C$36" Then

对于以下示例,我使用了imwrite演示图像并应用了Canny边缘来突出显示线条,但这应该适用于您的应用程序。

circuit.tif

希望有所帮助!

答案 1 :(得分:0)

您可以使用计算机视觉系统工具箱中的insertShape功能将线条绘制成图像。