给定一个包含倾斜线条的二进制图像,如何自动识别尽可能多的线条?在Matlab中使用bwtraceboundary
函数,我已经能够识别出其中一条,手动提供已识别线条的起始坐标。
有人能指出一种循环矩阵中的1和0以自动识别尽可能多的方法吗?
这是一个示例图像:
% Read the image
I = imread('./synthetic.jpg');
figure(1)
BW = im2bw(I, 0.7);
imshow(BW2,[]);
c = 255; % X coordinate of a manually identified line
r = 490; % Y coordinate of a manually identified line
contour = bwtraceboundary(BW,[c r],'NE',8, 1000,'clockwise');
imshow(BW,[]);
hold on;
plot(contour(:,2),contour(:,1),'g','LineWidth',2);
从上面的代码中,我们得到:
houghlines
函数.... - Ander Biguri