1、获取一张图片,让用户可以交互式地选择相应的RGB图片进行边缘检测,即图片不是固定某一张 。
I=imread('car1.jpg'); %这里的 I 表示二维数组
实验图片
2、采用以下几种算子进行边缘检测。
- sobel 算子进行边缘检测
BW1=edge(I0,'sobel');
- roberts 算子进行边缘检测
BW2=edge(I0,'roberts');
- log 算子进行边缘检测
BW3=edge(I0,'log');
- canny 算子进行边缘检测
BW4=edge(I0,'canny');
3、在一个窗口里显示5幅图片,一张原图,另外4幅为4种为边缘检测算子对应的边缘检测图片,并加上合适标题。
I=imread('car1.jpg');
I0=rgb2gray(I); %灰度图转换
BW1=edge(I0,'sobel');
BW2=edge(I0,'roberts');
BW3=edge(I0,'log');
BW4=edge(I0,'canny');
%figure;
subplot(2,3,1),imshow(I),title('原图');
subplot(2,3,2),imshow(BW1),title('sobel算子边缘检测图');
subplot(2,3,3),imshow(BW2),title('roberts算子边缘检测图');
subplot(2,3,4),imshow(BW3),title('log算子边缘检测图');
subplot(2,3,5),imshow(BW4),title('canny算子边缘检测图')
效果图片