Extract horizontal and vertical lines from raster image
    8 views (last 30 days)
  
       Show older comments
    
    Abdul Hannan Qureshi
 on 7 Jun 2022
  
    
    
    
    
    Commented: Abdul Hannan Qureshi
 on 10 Jun 2022
            I am trying to extract horizantal and vertical bars seprately from following raster image.

I am using two combination of functions 
First functions combination (parameters value may vary)
SE = strel('line',60,0);
% OR
SE = strel('rectangle',[1 70]);
s=imerode(Iraster,SE);
s=imdilate(s,SE);
Second functions combination
mask = imclearborder(Iraster);
props = regionprops(mask, 'Area');
allAreas = sort([props.Area])
mask = ~bwareaopen(~mask, 10000);
mask = imclose(mask, true(5));
mask = ~bwareaopen(~mask, 10000);
mask = bwareafilt(mask, 1);
barsH = medfilt2(mask, [1, 115]);
props = regionprops(barsH, 'Area', 'PixelList'); 
allAreas = sort([props.Area])
props = regionprops(barsH, 'Area', 'PixelList'); 
allAreas = sort([props.Area])
The outcomes are not satisfactory, as outputs are not smooth like in original image.

Are there any other functions that can be helpful ?. I raster.mat is enclosed.
0 Comments
Accepted Answer
  yanqi liu
      
 on 7 Jun 2022
        yes,sir,may be use open and close operation,such as
load Iraster.mat
bw = im2bw(Iraster);
bw2 = imclose(bw, strel('line', 1e2, 0));
bw3 = imopen(bw2, strel('line', 50, 90));
bw3 = imclose(bw3, strel('line', 2e3, 90));
bw3 = imdilate(bw3, strel('disk', 9));
bw3 = logical(bw3.*bw2);
bw4 = logical(~bw3.*bw2);
bw4 = imclose(bw4, strel('line', 3e2, 0));
bw4 = bwareaopen(bw4, 1e3);
bw4 = logical(bw4.*bw2);
figure; imshow(bw2);
figure; imshow(bw3);
figure; imshow(bw4);
3 Comments
  Image Analyst
      
      
 on 8 Jun 2022
				
      Edited: Image Analyst
      
      
 on 8 Jun 2022
  
			1e2 = 1 * 10 ^ 2 = 100.
1e3 = 1 * 10 ^ 3 = 1000.
format long g
1e2
1e3
More Answers (0)
See Also
Categories
				Find more on Image Processing Toolbox in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

