首先读取图像,采用canny算子提取目标的边缘,在原图像中将边缘部分设置为白色,然后建立三通道图像,将目标的边缘部分设置成红色(其他颜色也可以)。代码如下:
close all;
clear;
clc;
I = imread('rice.png');
figure;
subplot(221), imshow(I);
J = edge(I, 'canny');
subplot(222), imshow(J);
I(J) = 255; % 将边缘处设置为白色,其他像素值不变
subplot(223), imshow(I);
COLOR = [255, 0, 0]; % 将边缘设置为红色
r = I;
g = I;
b = I;
r(J) = COLOR(1);
g(J) = COLOR(2);
b(J) = COLOR(3);
K = cat(3, r, g, b); %将矩阵r,g,b串联
subplot(224), imshow(K);