在Matlab编写代码I=imread('C:\Users\hp\Desktop\yy.PNG');% ?提取图像 subplot(2,3,1), imshow(I); title('original image'); I=rgb2gray(I);%将彩色图转换灰度图 BW1=edge(I,'sobel'); %用SOBEL算子进行边缘检测 BW2=edge(I,'roberts');%用Roberts算子进行边缘检测 BW3=edge(I,'prewitt'); %用prewitt算子进行边缘检测 BW4=edge(I,'log'); %用log算子进行边缘检测 BW5=edge(I,'canny'); %用canny算子进行边缘检测 subplot(2,3,2), imshow(BW1); title('sobel edge check'); subplot(2,3,3), imshow(BW2); title('roberts edge check'); subplot(2,3,4), imshow(BW3); title('prewitt edge check'); subplot(2,3,5), imshow(BW4); title('Laplacian edge check'); subplot(2,3,6), imshow(BW5); title('canny edge check');
时间: 2024-01-04 15:04:10 浏览: 73
imread实现过程
这段代码实现了对一张图片进行不同边缘检测算子的处理,并将结果展示在一个2x3的子图中。其中,第一行展示了原始图像和用SOBEL算子进行边缘检测的结果,第二行展示了用Roberts算子、Prewitt算子、Laplacian算子和Canny算子进行边缘检测的结果。在代码中,imread()函数用于读取图片,rgb2gray()函数用于将彩色图转换为灰度图,edge()函数用于进行边缘检测,subplot()函数用于创建子图并展示处理结果。
阅读全文