【matlab代码练习12】将目标边缘标记为红色

首先读取图像,采用canny算子提取目标的边缘,在原图像中将边缘部分设置为白色,然后建立三通道图像,将目标的边缘部分设置成红色(其他颜色也可以)。代码如下:

close all; clear all; clc; 

I = im2double(imread('rice.png')); 

figure; 
subplot(121), imshow(I); 

J = edge(I, 'canny'); 
subplot(122), imshow(J); 

I(J) = 1; % 将边缘处设置为白色,其他像素值不变
figure; 
subplot(121), imshow(I); 

COLOR = [1, 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(122), imshow(K); 


猜你喜欢

转载自blog.csdn.net/qq_15971883/article/details/80000637