How to connect large objects in a binary image (Crack Detection)

2 views (last 30 days)
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.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!