【发布时间】:2016-12-22 01:37:54
【问题描述】:
我正在尝试检测焊接图像中的接缝以进行自主焊接过程。 我想在原始图像中找到检测到的线(所需图像中的红线)的像素位置。
我使用了下面的代码,最后从图像中去除了噪点,得到了下面的结果。
clc,clear,clf;
im = imread('https://i.stack.imgur.com/UJcKA.png');
imshow(im);title('Original image'); pause(0.5);
sim = edge(im, 'sobel');
imshow(sim);title('after Sobel'); pause(0.5);
mask = im > 5;
se = strel('square', 5);
mask_s = imerode(mask, se);
mask(mask_s) = false;
mask = imdilate(mask, se);
sim(mask) = false;
imshow(sim);title('after mask');pause(0.5);
sim= medfilt2(sim);
imshow(sim);title('after noise removal')
不幸的是,图像中没有任何东西可以完美地找到接缝。
任何帮助将不胜感激。
Download原图。
【问题讨论】:
-
为什么您的目标对象只有
-
你提前知道接缝的大概形状吗?或者每张图像只有一个接缝?或任何其他有用的限制条件?
-
@Cecilia 每张图片只有一个接缝。
-
@asys +1 进行演示!
标签: matlab image-processing computational-geometry image-segmentation