怎么用matlab提取图像前景物
答案:3 悬赏:0
解决时间 2021-04-07 05:30
- 提问者网友:逝爱
- 2021-04-06 16:19
就是给你一个索引图像怎么把人的轮廓提取出来,人是白色,其他都是黑色
最佳答案
- 二级知识专家网友:樣嘚尐年
- 2021-04-06 16:30
1、E = edge(I);
这个不精确。有的位置会差1个pixel。
2、C = bwboundaries(I);
精确,里面存的点都是轮廓了。
提取了一个AVI视频的背景图像,很清楚,但是减掉背景后前景图像变得很模糊怎么解决:
I=uint8(bg) % I 为提取出的背景
vidFrames = read(mov);</span>
for k= 1:2:nframes</span>
video(k).cdata = vidFrames(:,:,:,k);
video(k).colormap =[];
a=video(k).cdata;
imshow(abs(a-I));
axis image off
drawnow;
b(:,:,:)=abs(a(:,:,:)-I(:,:,:));</span>
figure(),
imshow(b);
title('去除背景')。
这个不精确。有的位置会差1个pixel。
2、C = bwboundaries(I);
精确,里面存的点都是轮廓了。
提取了一个AVI视频的背景图像,很清楚,但是减掉背景后前景图像变得很模糊怎么解决:
I=uint8(bg) % I 为提取出的背景
vidFrames = read(mov);</span>
for k= 1:2:nframes</span>
video(k).cdata = vidFrames(:,:,:,k);
video(k).colormap =[];
a=video(k).cdata;
imshow(abs(a-I));
axis image off
drawnow;
b(:,:,:)=abs(a(:,:,:)-I(:,:,:));</span>
figure(),
imshow(b);
title('去除背景')。
全部回答
- 1楼网友:偏爱自由
- 2021-04-06 18:14
C = imboundaries(I);
figure;imshow(C,[]);
- 2楼网友:桑稚给你看
- 2021-04-06 16:50
C = imboundaries(I);
figure;imshow(C,[]);
再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯