How to connect large objects in a binary image (Crack Detection)
1 次查看(过去 30 天)
显示 更早的评论
hello I am working on crack dtection on the road surface, I am using the (Sobel) edge detection after pre processing on image. I am using the following code if true I=imread('C:\Users\isxsmad\Documents\Inside_Doccuments\Nikon D100\DSC_0244.JPG'); if size(I,1)> 1600; I= impyramid(I, 'reduce'); end disp(size(I,1)); I=rgb2gray(I); (Lrgb)') %% Pre Processing se = strel('disk', 65); se1=strel('disk', 5); Io = imopen(I, se1); %Opening removes small objects from the foreground %(usually taken as the dark pixels) of an image, placing them in the background. Ie = imerode(I, se); Iobr = imreconstruct(Ie, Io); % open and erosion h = ones(4,4) / 25; I2 = imfilter(Iobr,h); % (image smothing to reduce noise production)
%% Processing edge1=edge(I2,'sobel'); % Processing using Sobel
%% Post Processing image_close = imclose(edge1, strel('disk', 1)); image_close = imclose(image_close, strel('disk', 1)); image_close = imclose(image_close, strel('disk', 1)); image_close = imclose(image_close, strel('disk', 1)); PPim=image_close; imshow(PPim); isobel=edge(I,'sobel'); figure, imshow(isobel);
end
<<http://imageshack.us/a/img87/795/dsc0229en.jpg>> original image
<<http://imageshack.us/a/img825/5558/sobel.jpg>> Sobel Only
<<http://imageshack.us/a/img5/1576/sobelpre.jpg>> Sobel After Pre Processing
So as you can see from Sobel after pre processing image, the lane have been removed successfully and the crack have been emphasized. here u can see the large object from the crack.
My question is how can I connect those large object belongs to crack to each other.
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Segmentation and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!