怎么用matlab提取图像前景物

2024-12-31 22:21:15
推荐回答(2个)
回答1:

1、E = edge(I);

这个不精确。有的位置会差1个pixel。

2、C = bwboundaries(I);

精确,里面存的点都是轮廓了。

提取了一个AVI视频的背景图像,很清楚,但是减掉背景后前景图像变得很模糊怎么解决:

I=uint8(bg) % I 为提取出的背景

vidFrames = read(mov);

for k= 1:2:nframes

video(k).cdata = vidFrames(:,:,:,k);

video(k).colormap =[];

a=video(k).cdata;

imshow(abs(a-I));

axis image off

drawnow;

b(:,:,:)=abs(a(:,:,:)-I(:,:,:));

figure(),

imshow(b); 

title('去除背景')。

回答2:

C = imboundaries(I);
figure;imshow(C,[]);