필터 지우기
필터 지우기

How do i count the horizontal lines in an image

조회 수: 4 (최근 30일)
N/A
N/A 2018년 2월 26일
답변: Akira Agata 2018년 2월 27일
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
  댓글 수: 2
Akira Agata
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?
N/A
N/A 2018년 2월 27일
Sorry i'll upload the original picture. I put the mesh on that one myself.

댓글을 달려면 로그인하십시오.

채택된 답변

Akira Agata
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

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by