Matlab数字图像处理基础【8】

来源:互联网 发布:软件开发的合同 编辑:程序博客网 时间:2024/04/30 17:52
第六章 图像分割
实例:使用边缘检测算子实现图像分割

clc;clear;%读入图像A1 = imread('shape.jpg');figure,subplot(2,2,1),imshow(A1),title('原图像');%使用Sobel算子进行边缘检测%‘both’指定首选梯度方向为水平和竖直方向%‘horizontal’指定首选梯度方向为水平方向%‘vertical’指定首选梯度方为竖直方向%不指定阈值时算法自动设定阈值,阈值使用t11获取%g11中保存的是结果图像%若要指定阈值,阈值写在'sobel'和'both'之间[g11, t11] = edge(A1, 'sobel', 'both');subplot(2,2,2),imshow(g11),title('Sobel边缘检测');%使用Prewitt算子进行边缘检测[g12, t12] = edge(A1, 'prewitt', 'both');subplot(2,2,3),imshow(g12),title('Prewitt边缘检测');%使用Canny算子进行边缘检测[g13, t13] = edge(A1, 'canny', 'both');subplot(2,2,4),imshow(g13),title('Canny边缘检测');%处理图像lena.jpgA2 = imread('lena.jpg');figure,subplot(2,2,1),imshow(A2),title('原图像');[g21, t21] = edge(A2, 'sobel', 'both');subplot(2,2,2),imshow(g21),title('Sobel边缘检测');[g22, t22] = edge(A2, 'prewitt', 'both');subplot(2,2,3),imshow(g22),title('Prewitt边缘检测');[g23, t23] = edge(A2, 'canny', 'both');subplot(2,2,4),imshow(g23),title('Canny边缘检测');%处理图像Boston.jpgA3 = imread('Boston.jpg');figure,subplot(2,2,1),imshow(A3),title('原图像');[g31, t31] = edge(A3, 'sobel', 'both');subplot(2,2,2),imshow(g31),title('Sobel边缘检测');[g32, t32] = edge(A3, 'prewitt', 'both');subplot(2,2,3),imshow(g32),title('Prewitt边缘检测');[g33, t33] = edge(A3, 'canny', 'both');subplot(2,2,4),imshow(g33),title('Canny边缘检测');

实验结果:


0 0
原创粉丝点击