我正在使用以下代码行来检测图片中的边缘,然后覆盖在原始图片上检测到的边缘:
A = 'brad.jpg';
B = im2double(imread(A, 'jpg'));
r = 0*B;
r(:,:,1) = B(:,:,1);
g = 0*B;
g(:,:,2) = B(:,:,2);
b = 0*B;
b(:,:,3) = B(:,:,3);
L = medfilt2(r(:,:,1), [3,3]);
L2 = canny_edge(L);
M = medfilt2(g(:,:,2), [3,3]);
M2 = canny_edge(M);
N = medfilt2(b(:,:,3), [3,3]);
N2 = canny_edge(N);
recover = cat(3,L,M,N);
figure, imshow(recover);
black = cat(3, zeros(size(L)),zeros(size(L)), zeros(size(L)));
hold on;
h = imshow(black);
hold off;
set(h, 'AlphaData', L2);
正如您在最后 4 行代码中看到的那样,我将检测到边缘的图像叠加到原始图片上。
我想保存这张新图片(边缘覆盖在原始图片上的那张)。有人可以告诉我该怎么做吗?重叠的图片只显示给我。有人能告诉我保存这个的命令吗?谢谢并恭祝安康。