matlab中图像边缘检测 edge函数总在报错??

2024-11-23 11:54:36
推荐回答(3个)
回答1:

《数字图像处理》课程,图像分割实验我的matlab代码。希望对你有用,望采纳!
clc
clear all;
I=imread('bacteria.BMP');
figure(1)
imshow(I);title('原图像');
I=double(I);
BW1=edge(I,'sobel');
figure(2)
subplot(221)
imshow(BW1);title('原图像Sobel算子边缘检测');
BW2=edge(I,'prewitt');
subplot(222)
imshow(BW2);title('原图像Prewitt算子边缘检测');
BW3=edge(I,'log');
subplot(223)
imshow(BW3);title('原图像Log算子边缘检测');
BW4=edge(I,'canny');
subplot(224)
imshow(BW4);title('原图像Canny算子边缘检测');

回答2:

注意图像格式,double格式的灰度图!
I=imread('原始图像');
I1=rgb2gray(I);
I2=im2double(I1);

回答3:

转换成double(I)