How do i count the horizontal lines in an image
4 次查看(过去 30 天)
显示 更早的评论
I am new to MATLAB. How do i write a code which detects and counts horizontal lines in an image. Example is below. Any method of image analysis would be helpful. Thank you
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/170791/image.jpeg)
2 个评论
Akira Agata
2018-2-27
Is it possible to erase the red line mesh? Or do we have to use this image as an input?
采纳的回答
Akira Agata
2018-2-27
Thank you for uploading the clean image!
In my view, one simple and straight-forward solution will be regionprops function. The following is one example to extract horizontal lines in the image.
% Read your image and binarize
I = imread('5159-15B front_imgJ-macro.jpg');
I = rgb2gray(I);
BW = imbinarize(I);
% Apply regionprops function
s = regionprops(~BW,{'MajorAxisLength','MinorAxisLength','BoundingBox','Orientation'});
s = struct2table(s);
% Extract the regions which satisfies both the following conditions:
% (1) (Minor axis length)/(Major axis length) <= 10%
% (2) Angle with horizontal line <= +- 5 degree
idx =...
(s.MinorAxisLength ./ s.MajorAxisLength <= 0.1) &...
(abs(s.Orientation) <= 5);
s = s(idx,:);
% Show the result
figure
imshow(I)
hold on
for kk = 1:height(s)
rectangle(...
'Position', s.BoundingBox(kk,:),...
'EdgeColor','r')
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/179478/image.png)
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!