一、边缘分割技术
1.图像中间断点和线段的检测
对于图像中的间断点,常用的检测模板是:[-1, -1, -1; -1, 8, -1; -1, -1, -1]
对于图像中的线段,常用的检测模板是:
水平线段 -- [-1, -1, -1; 2, 2, 2; -1, -1, -1]; +45°线段 -- [-1, -1, 2; -1, 2, -1; 2, -1, -1]
垂直线段 -- [-1, 2, -1; -1, 2, -1; -1, 2, -1]; -45°线段 -- [2, -1, -1; -1, 2, -1; -1, -1, 2]
在MATLAB中,利用以上模板,通过函数imfilter() 来实现对图像中间断点和线段的检测。
% 检测图像中的线段
close all; clear all; clc;
I1 = imread('gantrycrane.png');
I = rgb2gray(I1);
figure;
subplot(121), imshow(I1);
w1 = [-1, -1, -1; -1, 8, -1; -1, -1, -1]; % 间断点检测
J1 = imfilter(I, w1);
w2 = [-1, -1, -1; 2, 2, 2; -1, -1, -1]; % 水平线段检测
J2 = imfilter(I, w2);
w3 = [-1, -1, 2; -1, 2, -1; 2, -1, -1]; % +45°线段检测
J3 = imfilt