MATLAB 提取头发(可以去除背景)

Posted 任重道远-HSY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB 提取头发(可以去除背景)相关的知识,希望对你有一定的参考价值。

 1 I= imread(\'2.jpg\');
 2 figure(1), imshow(I)
 3 R=I(:,:,1);
 4 G=I(:,:,2);
 5 B=I(:,:,3);
 6 [m,n]=size(r);
 7 mask=zeros(m,n);
 8 for i = 1:m
 9    for j = 1:n
10        if r(i,j)<70 && g(i,j)<70 && b(i,j)<70
11             mask(i,j)=1;
12         end
13     end
14 end
15 figure(2),imshow(mask)
16 [L,num]=bwlabel(mask,n);%n取8或4表示四连通或八连通区域,num表示连通域数目,L为输出图像矩阵,其元素值为整数,背景被标记为0,第一个连通区域被标记为1,第二个连通区域被标记为2,依此类推.所以你不明白的1,2,3即为第1,2,3个连通区域的标记
17 x=zero(1,sum);
18 for ii=1:num 19 x(ii)=sum(sum(L==ii)); 20 end 21 [m,ind]=max(x); 22 out=(L==ind);%L=ind的值为1,其它为0
23 figure(3),imshow(out)

 

 

 

以上是关于MATLAB 提取头发(可以去除背景)的主要内容,如果未能解决你的问题,请参考以下文章

通过matlab实现水产养殖鱼类成熟度自动分析系统

将OpenCV提取的轮廓用在另一张图中去除背景

matlab进行图片的简单去除背景方法

MATLAB教程案例35指纹识别系统中图像处理环节相关理论学习和MATLAB仿真实现——图像二值化锐化细化特征提取伪特征去除等综合应用学习

前景提取去除背景(selectROI+Grabcut)

MATLAB教程案例33基于高斯混合模型的视频背景提取算法的matlab仿真实现