matlab图像处理的问题(如何将断裂线段连接起来)

wanglanxuan1 2014-04-11 11:10:24
哪位大神帮我看一下这个图片要把裂缝断裂处连接起来,能帮我写个MATLAB代码吗,我用先膨胀再腐蚀处理效果不好
...全文
7028 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
laogoukebi 2015-04-25
  • 打赏
  • 举报
回复
求高手帮我把这些用hough line 发现的断线连起来
用了上面的代码matlab直接卡住了,我的电脑配置还可以的
泰迪T-Bag 2014-07-28
  • 打赏
  • 举报
回复
膨胀完了就别腐蚀了
qq_18418627 2014-07-26
  • 打赏
  • 举报
回复
哥们你这个问题解决了么 上面那个程序,似乎没有对图像是像素点进行处理呀 只是用红线给连起来啦
青松2 2014-06-03
  • 打赏
  • 举报
回复
具体问题具体分析吧
ailibuli1987 2014-06-03
  • 打赏
  • 举报
回复
请问,程序在运行如上的图像数据时,会报错,是不是需要更改一些参数?
houdong1992 2014-05-20
  • 打赏
  • 举报
回复
坚定前行 2014-05-15
  • 打赏
  • 举报
回复
按照上面的程序我已经把裂缝填补了,如何得到填补后图形的边缘?或者说怎么把填补后的图形重新保存为另外一幅图片。
青松2 2014-04-11
  • 打赏
  • 举报
回复 9
clear;close all;

im = imread('https://img-bbs.csdn.net/upload/201404/11/1397185779_271987.jpg');
BW=im2bw(im,0.5);
s = regionprops(BW, 'ConvexHull');

imshow(BW);

% hold on;
% plot(s(1).ConvexHull(:,1) ,s(1).ConvexHull(:,2) , 'r*');
%
% hold on;
% plot(s(2).ConvexHull(:,1) ,s(2).ConvexHull(:,2) , 'g*');
%
% hold on;
% plot(s(3).ConvexHull(:,1) ,s(3).ConvexHull(:,2) , 'b*');

[m1 ,~]=size(s(1).ConvexHull);
[m2 ,~]=size(s(2).ConvexHull);

len=length(s);

for i=1:len-1
for j=i+1:len

[m1 ,~]=size(s(i).ConvexHull);
[m2 ,~]=size(s(j).ConvexHull);

for h=1:m1
for k=1:m2

if pdist([s(i).ConvexHull(h,:) ;s(j).ConvexHull(k,:)],'euclidean')<100
hold on;
plot([s(i).ConvexHull(h,1) ,s(j).ConvexHull(k,1)] ,[s(i).ConvexHull(h,2) ,s(j).ConvexHull(k,2)],'r');
end
end
end
end
end




青松2 2014-04-11
  • 打赏
  • 举报
回复 9
先找出每条线的端点,然后判断两个端点的距离是否在规定范围内,如果在,就连接起来。思路请参考一下KD树

3,426

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧